diff options
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/mysql-test-run.sh | 20 | ||||
-rw-r--r-- | mysql-test/r/flush_table.result | 31 | ||||
-rw-r--r-- | mysql-test/r/information_schema.result | 1 | ||||
-rw-r--r-- | mysql-test/r/innodb.result | 14 | ||||
-rw-r--r-- | mysql-test/r/merge.result | 3 | ||||
-rw-r--r-- | mysql-test/r/ndb_bitfield.result | 8 | ||||
-rw-r--r-- | mysql-test/r/ndb_partition_error.result | 4 | ||||
-rw-r--r-- | mysql-test/r/query_cache.result | 2 | ||||
-rw-r--r-- | mysql-test/r/temp_table.result | 11 | ||||
-rw-r--r-- | mysql-test/r/variables.result | 10 | ||||
-rw-r--r-- | mysql-test/t/flush_table.test | 53 | ||||
-rw-r--r-- | mysql-test/t/merge.test | 3 | ||||
-rw-r--r-- | mysql-test/t/multi_update.test | 6 | ||||
-rw-r--r-- | mysql-test/t/query_cache.test | 4 | ||||
-rw-r--r-- | mysql-test/t/temp_table.test | 12 | ||||
-rw-r--r-- | mysql-test/t/variables.test | 8 | ||||
-rw-r--r-- | mysql-test/valgrind.supp | 12 |
17 files changed, 169 insertions, 33 deletions
diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index 2cb462831fa..13badc4f244 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -1320,16 +1320,16 @@ start_master() if [ x$DO_DDD = x1 ] then - $ECHO "set args $master_args" > $GDB_MASTER_INIT + $ECHO "set args $master_args" > $GDB_MASTER_INIT$1 manager_launch master ddd -display $DISPLAY --debugger \ - "gdb -x $GDB_MASTER_INIT" $MASTER_MYSQLD + "gdb -x $GDB_MASTER_INIT$1" $MASTER_MYSQLD elif [ x$DO_GDB = x1 ] then if [ x$MANUAL_GDB = x1 ] then - $ECHO "set args $master_args" > $GDB_MASTER_INIT + $ECHO "set args $master_args" > $GDB_MASTER_INIT$1 $ECHO "To start gdb for the master , type in another window:" - $ECHO "cd $CWD ; gdb -x $GDB_MASTER_INIT $MASTER_MYSQLD" + $ECHO "cd $CWD ; gdb -x $GDB_MASTER_INIT$1 $MASTER_MYSQLD" wait_for_master=1500 else ( $ECHO set args $master_args; @@ -1341,9 +1341,9 @@ disa 1 end r EOF - fi ) > $GDB_MASTER_INIT + fi ) > $GDB_MASTER_INIT$1 manager_launch master $XTERM -display $DISPLAY \ - -title "Master" -e gdb -x $GDB_MASTER_INIT $MASTER_MYSQLD + -title "Master" -e gdb -x $GDB_MASTER_INIT$1 $MASTER_MYSQLD fi else manager_launch master $MASTER_MYSQLD $master_args @@ -1965,10 +1965,10 @@ then $MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1 $MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK1 -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1 $MYSQLADMIN --no-defaults --socket=$SLAVE_MYSOCK -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1 - $MYSQLADMIN --no-defaults --host=$hostname --port=$MASTER_MYPORT -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1 - $MYSQLADMIN --no-defaults --host=$hostname --port=`expr $MASTER_MYPORT+1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1 - $MYSQLADMIN --no-defaults --host=$hostname --port=$SLAVE_MYPORT -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1 - $MYSQLADMIN --no-defaults --host=$hostname --port=`expr $SLAVE_MYPORT + 1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1 + $MYSQLADMIN --no-defaults --host=$hostname --port=$MASTER_MYPORT --protocol=tcp -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1 + $MYSQLADMIN --no-defaults --host=$hostname --protocol=tcp --port=`expr $MASTER_MYPORT+1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1 + $MYSQLADMIN --no-defaults --host=$hostname --protocol=tcp --port=$SLAVE_MYPORT -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1 + $MYSQLADMIN --no-defaults --host=$hostname --protocol=tcp --port=`expr $SLAVE_MYPORT + 1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1 sleep_until_file_deleted 0 $MASTER_MYPID sleep_until_file_deleted 0 $MASTER_MYPID"1" sleep_until_file_deleted 0 $SLAVE_MYPID diff --git a/mysql-test/r/flush_table.result b/mysql-test/r/flush_table.result index db54d2e53ef..b29c83eb574 100644 --- a/mysql-test/r/flush_table.result +++ b/mysql-test/r/flush_table.result @@ -6,6 +6,37 @@ flush table t1; check table t1; Table Op Msg_type Msg_text test.t1 check status OK +unlock tables; +lock table t1 read; +lock table t1 read; + flush table t1; +select * from t1; +a +1 +unlock tables; +select * from t1; +a +1 +unlock tables; +lock table t1 write; + lock table t1 read; +flush table t1; +select * from t1; +a +1 +unlock tables; +unlock tables; +lock table t1 read; + lock table t1 write; +flush table t1; +select * from t1; +a +1 +unlock tables; +unlock tables; +select * from t1; +a +1 drop table t1; create table t1(table_id char(20) primary key); create table t2(table_id char(20) primary key); diff --git a/mysql-test/r/information_schema.result b/mysql-test/r/information_schema.result index 0b193b2107c..2b9fa503763 100644 --- a/mysql-test/r/information_schema.result +++ b/mysql-test/r/information_schema.result @@ -486,7 +486,6 @@ select s1 from t1 where s1 in (select version from information_schema.tables) union select version from information_schema.tables; s1 -0 10 drop table t1; SHOW CREATE TABLE INFORMATION_SCHEMA.character_sets; diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result index dc4893c3bfa..27deb4d821b 100644 --- a/mysql-test/r/innodb.result +++ b/mysql-test/r/innodb.result @@ -1615,7 +1615,7 @@ t2 CREATE TABLE `t2` ( ) ENGINE=InnoDB DEFAULT CHARSET=latin1 drop table t2; create table t2 (id int(11) not null, id2 int(11) not null, constraint t1_id_fk foreign key (id2,id) references t1 (id)) engine = innodb; -ERROR HY000: Can't create table './test/t2' (errno: 150) +ERROR HY000: Can't create table 'test.t2' (errno: 150) create table t2 (a int auto_increment primary key, b int, index(b), foreign key (b) references t1(id), unique(b)) engine=innodb; show create table t2; Table Create Table @@ -2437,7 +2437,7 @@ a b 20 NULL drop table t1; create table t1 (v varchar(65530), key(v)); -ERROR HY000: Can't create table './test/t1' (errno: 139) +ERROR HY000: Can't create table 'test.t1' (errno: 139) create table t1 (v varchar(65536)); Warnings: Note 1246 Converting column 'v' from VARCHAR to TEXT @@ -2580,19 +2580,19 @@ character set = latin1 engine = innodb; drop table t1, t2, t3, t4, t5, t6, t7, t8, t9; create table t1 (col1 varchar(768), index (col1)) character set = latin1 engine = innodb; -ERROR HY000: Can't create table './test/t1.frm' (errno: 139) +ERROR HY000: Can't create table 'test.t1' (errno: 139) create table t2 (col1 varchar(768) primary key) character set = latin1 engine = innodb; -ERROR HY000: Can't create table './test/t2.frm' (errno: 139) +ERROR HY000: Can't create table 'test.t2' (errno: 139) create table t3 (col1 varbinary(768) primary key) character set = latin1 engine = innodb; -ERROR HY000: Can't create table './test/t3.frm' (errno: 139) +ERROR HY000: Can't create table 'test.t3' (errno: 139) create table t4 (col1 text, index(col1(768))) character set = latin1 engine = innodb; -ERROR HY000: Can't create table './test/t4.frm' (errno: 139) +ERROR HY000: Can't create table 'test.t4' (errno: 139) create table t5 (col1 blob, index(col1(768))) character set = latin1 engine = innodb; -ERROR HY000: Can't create table './test/t5.frm' (errno: 139) +ERROR HY000: Can't create table 'test.t5' (errno: 139) CREATE TABLE t1 ( id INT PRIMARY KEY diff --git a/mysql-test/r/merge.result b/mysql-test/r/merge.result index e028e58acf5..786c61401b2 100644 --- a/mysql-test/r/merge.result +++ b/mysql-test/r/merge.result @@ -181,6 +181,9 @@ select * from t4; ERROR HY000: All tables in the MERGE table are not identically defined alter table t4 add column c int; ERROR HY000: All tables in the MERGE table are not identically defined +flush tables; +select * from t4; +ERROR HY000: All tables in the MERGE table are not identically defined create database mysqltest; create table mysqltest.t6 (a int not null primary key auto_increment, message char(20)); create table t5 (a int not null, b char(20), key(a)) engine=MERGE UNION=(test.t1,mysqltest.t6); diff --git a/mysql-test/r/ndb_bitfield.result b/mysql-test/r/ndb_bitfield.result index 839cfe587e4..77473c41ecd 100644 --- a/mysql-test/r/ndb_bitfield.result +++ b/mysql-test/r/ndb_bitfield.result @@ -201,18 +201,18 @@ create table t1 ( pk1 bit(9) not null primary key, b int ) engine=ndbcluster; -ERROR HY000: Can't create table './test/t1.frm' (errno: 140) +ERROR HY000: Can't create table 'test.t1' (errno: 140) show warnings; Level Code Message Error 1296 Got error 739 'Unsupported primary key length' from NDB -Error 1005 Can't create table './test/t1.frm' (errno: 140) +Error 1005 Can't create table 'test.t1' (errno: 140) create table t1 ( pk1 int not null primary key, b bit(9), key(b) ) engine=ndbcluster; -ERROR HY000: Can't create table './test/t1.frm' (errno: 140) +ERROR HY000: Can't create table 'test.t1' (errno: 140) show warnings; Level Code Message Error 1296 Got error 743 'Unsupported character set in table or index' from NDB -Error 1005 Can't create table './test/t1.frm' (errno: 140) +Error 1005 Can't create table 'test.t1' (errno: 140) diff --git a/mysql-test/r/ndb_partition_error.result b/mysql-test/r/ndb_partition_error.result index 29a593a96aa..3fd111a7c0f 100644 --- a/mysql-test/r/ndb_partition_error.result +++ b/mysql-test/r/ndb_partition_error.result @@ -11,11 +11,11 @@ partitions 3 (partition x1 values less than (5) nodegroup 12, partition x2 values less than (10) nodegroup 13, partition x3 values less than (20) nodegroup 14); -ERROR HY000: Can't create table './test/t1.frm' (errno: 140) +ERROR HY000: Can't create table 'test.t1' (errno: 140) show warnings; Level Code Message Error 1296 Got error 771 'Given NODEGROUP doesn't exist in this cluster' from NDB -Error 1005 Can't create table './test/t1.frm' (errno: 140) +Error 1005 Can't create table 'test.t1' (errno: 140) CREATE TABLE t1 ( a int not null, b int not null, diff --git a/mysql-test/r/query_cache.result b/mysql-test/r/query_cache.result index 97d14b2be3a..44493cd25d4 100644 --- a/mysql-test/r/query_cache.result +++ b/mysql-test/r/query_cache.result @@ -5,6 +5,8 @@ reset query cache; flush status; drop table if exists t1,t2,t3,t4,t11,t21; drop database if exists mysqltest; +drop table if exists ```a`; +drop view if exists v1; create table t1 (a int not null); insert into t1 values (1),(2),(3); select * from t1; diff --git a/mysql-test/r/temp_table.result b/mysql-test/r/temp_table.result index 82479504b10..ca5e6e1a32f 100644 --- a/mysql-test/r/temp_table.result +++ b/mysql-test/r/temp_table.result @@ -135,3 +135,14 @@ d c bar 2 foo 1 drop table t1, t2; +create temporary table t1 (a int); +insert into t1 values (4711); +select * from t1; +a +4711 +truncate t1; +insert into t1 values (42); +select * from t1; +a +42 +drop table t1; diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result index df180218a09..d192ee6fe1c 100644 --- a/mysql-test/r/variables.result +++ b/mysql-test/r/variables.result @@ -384,7 +384,7 @@ set sql_quote_show_create=1; set sql_safe_updates=1; set sql_select_limit=1; set sql_warnings=1; -set global table_cache=100; +set global table_open_cache=100; set storage_engine=myisam; set global thread_cache_size=100; set timestamp=1, timestamp=default; @@ -516,11 +516,11 @@ SET GLOBAL MYISAM_DATA_POINTER_SIZE= 7; SHOW VARIABLES LIKE 'MYISAM_DATA_POINTER_SIZE'; Variable_name Value myisam_data_pointer_size 7 -SET GLOBAL table_cache=-1; -SHOW VARIABLES LIKE 'table_cache'; +SET GLOBAL table_open_cache=-1; +SHOW VARIABLES LIKE 'table_open_cache'; Variable_name Value -table_cache 1 -SET GLOBAL table_cache=DEFAULT; +table_open_cache 1 +SET GLOBAL table_open_cache=DEFAULT; set character_set_results=NULL; select ifnull(@@character_set_results,"really null"); ifnull(@@character_set_results,"really null") diff --git a/mysql-test/t/flush_table.test b/mysql-test/t/flush_table.test index e46b67ad3d0..0ea0ac0840a 100644 --- a/mysql-test/t/flush_table.test +++ b/mysql-test/t/flush_table.test @@ -9,10 +9,63 @@ drop table if exists t1,t2; --enable_warnings create table t1 (a int not null auto_increment primary key); insert into t1 values(0); + +# Test for with read lock + flush + lock table t1 read; flush table t1; check table t1; +unlock tables; + +# Test for with 2 read lock in different thread + flush + +lock table t1 read; +connect (locker,localhost,root,,test); +connection locker; +lock table t1 read; +connection default; +send flush table t1; +connection locker; +--sleep 2 +select * from t1; +unlock tables; +connection default; +reap; +select * from t1; +unlock tables; + +# Test for with a write lock and a waiting read lock + flush + +lock table t1 write; +connection locker; +send lock table t1 read; +connection default; +sleep 2; +flush table t1; +select * from t1; +unlock tables; +connection locker; +reap; +unlock tables; +connection default; + +# Test for with a read lock and a waiting write lock + flush + +lock table t1 read; +connection locker; +send lock table t1 write; +connection default; +sleep 2; +flush table t1; +select * from t1; +unlock tables; +connection locker; +reap; +unlock tables; +select * from t1; +connection default; drop table t1; +disconnect locker; # # In the following test FLUSH TABLES produces a deadlock diff --git a/mysql-test/t/merge.test b/mysql-test/t/merge.test index ff05867b7c1..520bacd8f17 100644 --- a/mysql-test/t/merge.test +++ b/mysql-test/t/merge.test @@ -51,6 +51,9 @@ create table t4 (a int not null, b char(10), key(a)) engine=MERGE UNION=(t1,t2); select * from t4; --error 1168 alter table t4 add column c int; +flush tables; +--error 1168 +select * from t4; # # Test tables in different databases diff --git a/mysql-test/t/multi_update.test b/mysql-test/t/multi_update.test index 5e3be6d45eb..acc816ae921 100644 --- a/mysql-test/t/multi_update.test +++ b/mysql-test/t/multi_update.test @@ -495,6 +495,11 @@ delete t1,t2 from t2,t1 where t1.a<'B' and t2.b=t1.b; drop table t1,t2; +# +# Test alter table and a concurrent multi update +# (This will force update to reopen tables) +# + create table t1 (a int, b int); insert into t1 values (1, 2), (2, 3), (3, 4); create table t2 (a int); @@ -511,6 +516,7 @@ send alter table t1 add column c int default 100 after a; connect (updater,localhost,root,,test); connection updater; +sleep 2; send update t1, v1 set t1.b=t1.a+t1.b+v1.b where t1.a=v1.a; connection locker; diff --git a/mysql-test/t/query_cache.test b/mysql-test/t/query_cache.test index 646151a5aae..fc0b2f471d2 100644 --- a/mysql-test/t/query_cache.test +++ b/mysql-test/t/query_cache.test @@ -14,6 +14,10 @@ flush status; --disable_warnings drop table if exists t1,t2,t3,t4,t11,t21; drop database if exists mysqltest; + +# Fix possible left overs from other tests +drop table if exists ```a`; +drop view if exists v1; --enable_warnings # diff --git a/mysql-test/t/temp_table.test b/mysql-test/t/temp_table.test index 6b3991c9c78..2d505fdfece 100644 --- a/mysql-test/t/temp_table.test +++ b/mysql-test/t/temp_table.test @@ -115,3 +115,15 @@ select d, c from t1 left join t2 on b = c where a = 3 order by d; drop table t1, t2; # End of 4.1 tests + +# +# Test truncate with temporary tables +# + +create temporary table t1 (a int); +insert into t1 values (4711); +select * from t1; +truncate t1; +insert into t1 values (42); +select * from t1; +drop table t1; diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test index 2d0e2dbc9c9..76761f9177d 100644 --- a/mysql-test/t/variables.test +++ b/mysql-test/t/variables.test @@ -258,7 +258,7 @@ set sql_quote_show_create=1; set sql_safe_updates=1; set sql_select_limit=1; set sql_warnings=1; -set global table_cache=100; +set global table_open_cache=100; set storage_engine=myisam; set global thread_cache_size=100; set timestamp=1, timestamp=default; @@ -390,9 +390,9 @@ SHOW VARIABLES LIKE 'MYISAM_DATA_POINTER_SIZE'; # Bug #6958: negative arguments to integer options wrap around # -SET GLOBAL table_cache=-1; -SHOW VARIABLES LIKE 'table_cache'; -SET GLOBAL table_cache=DEFAULT; +SET GLOBAL table_open_cache=-1; +SHOW VARIABLES LIKE 'table_open_cache'; +SET GLOBAL table_open_cache=DEFAULT; # # Bugs12363: character_set_results is nullable, diff --git a/mysql-test/valgrind.supp b/mysql-test/valgrind.supp index 7737810653d..bcca7c252ab 100644 --- a/mysql-test/valgrind.supp +++ b/mysql-test/valgrind.supp @@ -152,3 +152,15 @@ obj:*/libz.so.* fun:gzflush } + +# +# Warning from my_thread_init becasue mysqld dies before kill thread exists +# + +{ + my_thread_init kill thread memory loss second + Memcheck:Leak + fun:calloc + fun:my_thread_init + fun:kill_server_thread +} |