• unknown's avatar
    Add new option "check-testcases" to mysql-test-run.pl · 313ea47d
    unknown authored
    Cleanup the sideeffects from most of the  testcases with sideeffects.
    
    
    mysql-test/mysql-test-run.pl:
      Add option "check-testcases" to mysql-test-run.pl
      Will execute "include/check-testcase.test" once before each tescase and record the output into "var/tmp/check-testcase.result"
      After the teastcase it will run again and this time compare the output with previously recorded file.
    mysql-test/r/analyze.result:
      Drop table t1 at end of test
    mysql-test/r/create_select_tmp.result:
      Drop table t1 at end of test
    mysql-test/r/ctype_cp932.result:
      Drop table t1 at end of test
    mysql-test/r/ctype_recoding.result:
      Drop table t1 at end of test
    mysql-test/r/grant2.result:
      Drop user mysqltest_2 and mysqltest_A@'%'
    mysql-test/r/join_outer.result:
      Drop view v1 to cleanup
    mysql-test/r/ps_1general.result:
      Drop table t1 at end of test
    mysql-test/r/query_cache.result:
      Drop function "f1"
    mysql-test/r/read_only.result:
      Reset the "read_only" flag
    mysql-test/r/rpl000001.result:
      Remove user "blafasel2"
    mysql-test/r/rpl000017.result:
      Remove user "replicate"
    mysql-test/r/rpl_failed_optimize.result:
      Drop table t1 to cleanup
    mysql-test/r/rpl_flush_tables.result:
      Drop tables t3, t4, t5
    mysql-test/r/rpl_ignore_revoke.result:
      Delete user "user_foo"
    mysql-test/r/rpl_insert_id.result:
      Drop table t1 to cleanup
    mysql-test/r/rpl_loaddata.result:
      Drop tyable t1 to cleanup
    mysql-test/r/rpl_loaddata_rule_m.result:
      Drop tyable t1 to cleanup
    mysql-test/r/rpl_loaddata_rule_s.result:
      Drop tyable t1 to cleanup
    mysql-test/r/rpl_misc_functions.result:
      Drop tyable t1 to cleanup
    mysql-test/r/rpl_multi_update3.result:
      Drop tyable t1 and t2 to cleanup
    mysql-test/r/rpl_replicate_do.result:
      Drop tyable t1 to cleanup
    mysql-test/r/rpl_skip_error.result:
      Drop tyable t1 to cleanup
    mysql-test/r/rpl_slave_status.result:
      Drop tyable t1 to cleanup
    mysql-test/r/sp-prelocking.result:
      Drop view v1 and tables t1, t2, t3 and t4 to cleanup
    mysql-test/r/sp-security.result:
      Delete users to cleanup
      Delete remaining traces in tables_priv and procs_priv
    mysql-test/r/subselect_innodb.result:
      Drop procedure p1 to cleanup
    mysql-test/r/trigger-compat.result:
      Drop trigger wl2818_trg1 and wl2818_trg2.
      Drop table t1, t2
      Drop database mysqltest_db1
      And the users "mysqltest_dfn@localhost" and "mysqltest_inv@localhost"
    mysql-test/r/type_bit.result:
      Drop tables t1 and t2 to cleanup
    mysql-test/r/variables.result:
      Set GLOBAL max_join_size to 10 as it originally was in variables-master.opt
    mysql-test/r/view_grant.result:
      Dop user "test@localhost" to cleanup
    mysql-test/t/analyze.test:
      Drop table t1 to cleanup
    mysql-test/t/create_select_tmp.test:
      Drop table t1 to cleanup
    mysql-test/t/ctype_cp932.test:
      Drop table t1 to cleanup
    mysql-test/t/ctype_recoding.test:
      Drop table t1 to cleanup
    mysql-test/t/fulltext_var.test:
      Restore the original ft_boolean_syntax
    mysql-test/t/grant2.test:
      Drop users "mysqltest_2" and "mysqltest_A@'%'" to cleanup
    mysql-test/t/innodb_cache.test:
      Reset query_cache_size to original value
    mysql-test/t/join_outer.test:
      Drop view v1 to cleanup
    mysql-test/t/ps_1general.test:
      Drop table t1 to cleanup
    mysql-test/t/query_cache.test:
      Drop function "f1" to cleanup
    mysql-test/t/read_only.test:
      Reset the readonly flag
    mysql-test/t/rpl000001.test:
      Delete user "blafasel2" to cleanup
    mysql-test/t/rpl000017.test:
      Delete user "replicate" to cleanup
    mysql-test/t/rpl_failed_optimize.test:
      Drop table t1 to cleanup
    mysql-test/t/rpl_flush_tables.test:
      Droip table t3, t4 and t5 to cleanup
    mysql-test/t/rpl_ignore_revoke.test:
      Delet user "user_foo" to cleanup
    mysql-test/t/rpl_insert_id.test:
      drop table t1 to cleanup
    mysql-test/t/rpl_loaddata.test:
      Drop table t1 to cleanup
    mysql-test/t/rpl_loaddata_rule_m.test:
      Drop table t1 to cleanup
    mysql-test/t/rpl_loaddata_rule_s.test:
      Drop table t1 to cleanup
    mysql-test/t/rpl_misc_functions.test:
      Drop table t1 to cleanup
    mysql-test/t/rpl_multi_update3.test:
      Drop table t1 and t2 to cleanup
    mysql-test/t/rpl_replicate_do.test:
      Drop table t1 to cleanup
    mysql-test/t/rpl_skip_error.test:
      Drop table t1 to cleanup
    mysql-test/t/rpl_slave_status.test:
      Drop table t1 to cleanup
    mysql-test/t/sp-prelocking.test:
      Drop table t1, t2 t3 and t4 to cleanup
      Drop view v1
    mysql-test/t/sp-security.test:
      Delete  test users from mysql.user, mysql.db, mysql.procs_priv and mysql.tables_priv
      Drop table t1 to cleanup
    mysql-test/t/subselect_innodb.test:
      Drop procedure p1 to cleanup
    mysql-test/t/trigger-compat.test:
      Drop trigger wl2818_trg1 and wl2818_trg2 to cleanup
      Drop table t1, t2
      Drop users
      drop database mysqltest_db1
    mysql-test/t/type_bit.test:
      drop table t1 and t2 to cleanup
    mysql-test/t/variables-master.opt:
      Increase max_join_size to 100.
    mysql-test/t/variables.test:
      Set max_join_size to 10, which was the original value in variables-master.opt
    mysql-test/t/view_grant.test:
      Drop the user "test@localhost"
    mysql-test/include/check-testcase.test:
      New BitKeeper file ``mysql-test/include/check-testcase.test''
    313ea47d
innodb_cache.test 2.92 KB
-- source include/have_innodb.inc
-- source include/have_query_cache.inc

# Initialise
--disable_warnings
drop table if exists t1,t2,t3;
--enable_warnings

#
# Without auto_commit.
#
flush status;
set autocommit=0;
create table t1 (a int not null) engine=innodb;
insert into t1 values (1),(2),(3);
select * from t1;
show status like "Qcache_queries_in_cache";
drop table t1;
commit;
set autocommit=1;
begin;
create table t1 (a int not null) engine=innodb;
insert into t1 values (1),(2),(3);
select * from t1;
show status like "Qcache_queries_in_cache";
drop table t1;
commit;
create table t1 (a int not null) engine=innodb;
create table t2 (a int not null) engine=innodb;
create table t3 (a int not null) engine=innodb;
insert into t1 values (1),(2);
insert into t2 values (1),(2);
insert into t3 values (1),(2);
select * from t1;
select * from t2;
select * from t3;
show status like "Qcache_queries_in_cache";
show status like "Qcache_hits";
begin;
select * from t1;
select * from t2;
select * from t3;
show status like "Qcache_queries_in_cache";
show status like "Qcache_hits";
insert into t1 values (3);
insert into t2 values (3);
insert into t1 values (4);
select * from t1;
select * from t2;
select * from t3;
show status like "Qcache_queries_in_cache";
show status like "Qcache_hits";
commit;
show status like "Qcache_queries_in_cache";
drop table t3,t2,t1;

CREATE TABLE t1 (id int(11) NOT NULL auto_increment, PRIMARY KEY  (id)) ENGINE=InnoDB;
select count(*) from t1;
insert into t1 (id) values (0);
select count(*) from t1;
drop table t1;

#
# one statement roll back inside transation
#
let $save_query_cache_size=`select @@global.query_cache_size`;
set GLOBAL query_cache_size=1355776;
CREATE TABLE t1 ( id int(10) NOT NULL auto_increment, a varchar(25) default NULL, PRIMARY KEY  (id), UNIQUE KEY a (a)) ENGINE=innodb;
CREATE TABLE t2 ( id int(10) NOT NULL auto_increment, b varchar(25) default NULL, PRIMARY KEY  (id), UNIQUE KEY b (b)) ENGINE=innodb;
CREATE TABLE t3 ( id int(10) NOT NULL auto_increment, t1_id int(10) NOT NULL default '0', t2_id int(10) NOT NULL default '0', state int(11) default NULL, PRIMARY KEY  (id), UNIQUE KEY t1_id (t1_id,t2_id), KEY t2_id (t2_id,t1_id), CONSTRAINT `t3_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `t1` (`id`), CONSTRAINT `t3_ibfk_2` FOREIGN KEY (`t2_id`) REFERENCES `t2` (`id`)) ENGINE=innodb;
INSERT INTO t1 VALUES (1,'me');
INSERT INTO t2 VALUES (1,'you');
INSERT INTO t3 VALUES (2,1,1,2);
delete from t3 where t1_id = 1 and t2_id = 1;
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
begin;
insert into t3 VALUES ( NULL, 1, 1, 2 );
-- error 1062
insert into t3 VALUES ( NULL, 1, 1, 2 );
commit;
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
drop table t3,t2,t1;
--disable_query_log
eval set GLOBAL query_cache_size=$save_query_cache_size;
--enable_query_log

# End of 4.1 tests