1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

fixed the tests mysql-test/t/synchronization.test

for Bug #2385 CREATE TABLE LIKE lacks locking on source and destination table


BitKeeper/deleted/.del-synchronization-master.opt~265be23ead00949:
  Delete: mysql-test/t/synchronization-master.opt
BitKeeper/deleted/.del-have_debug.require~d981522532c711b2:
  Delete: mysql-test/r/have_debug.require
BitKeeper/deleted/.del-have_debug.inc~f4dc5160b9912226:
  Delete: mysql-test/include/have_debug.inc
mysql-test/r/synchronization.result:
  fixed the test for 
  Bug #2385 CREATE TABLE LIKE lacks locking on source and destination table
mysql-test/t/synchronization.test:
  fixed the test for 
  Bug #2385 CREATE TABLE LIKE lacks locking on source and destination table
sql/sql_table.cc:
  deleted test sleep from mysql_create_like_table
This commit is contained in:
unknown
2004-04-06 19:17:13 +05:00
parent e7a85e367f
commit 315f5d27c4
6 changed files with 180 additions and 65 deletions

View File

@ -1,4 +0,0 @@
-- require r/have_debug.require
disable_query_log;
select instr(version(),convert('debug' using utf8))!=0;
enable_query_log;

View File

@ -1,2 +0,0 @@
instr(version(),convert('debug' using utf8))!=0
1

View File

@ -1,23 +1,162 @@
CREATE TABLE t1 (a int);
CREATE TABLE t1 (x1 int);
ALTER TABLE t1 CHANGE x1 x2 int;
CREATE TABLE t2 LIKE t1;
ALTER TABLE t1 add key(a);
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`a` int(11) default NULL
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
CREATE TABLE t1 (a int);
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
CREATE TABLE t2 LIKE t1;
CREATE TABLE t2 (b int);
let's take a look at result of create .. like :
-----------
ERROR HY000: Can't create/write to file './test/t2.frm' (Errcode: 17)
-----------
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`b` int(11) default NULL
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1, t2;
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x1 x2 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
ALTER TABLE t1 CHANGE x2 x1 int;
CREATE TABLE t2 LIKE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`xx` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
DROP TABLE t1;

View File

@ -1 +0,0 @@
--exit-info=2048

View File

@ -1,45 +1,33 @@
-- source include/have_debug.inc
#
# Test for Bug #2385 CREATE TABLE LIKE lacks locking on source and destination table
#
connect (con_to_sleep,localhost,lock_controller,,);
connect (con_to_harm_sleeper,localhost,root,,);
connect (con1,localhost,root,,);
connect (con2,localhost,root,,);
# locking of source:
connection con_to_sleep;
CREATE TABLE t1 (a int);
send CREATE TABLE t2 LIKE t1;
connection con_to_harm_sleeper;
sleep 1;
ALTER TABLE t1 add key(a);
connection con_to_sleep;
sleep 4;
CREATE TABLE t1 (x1 int);
let $1= 10;
while ($1)
{
connection con1;
send ALTER TABLE t1 CHANGE x1 x2 int;
connection con2;
CREATE TABLE t2 LIKE t1;
replace_result x1 xx x2 xx;
SHOW CREATE TABLE t2;
drop table t1, t2;
# locking of destination:
connection con_to_sleep;
CREATE TABLE t1 (a int);
send CREATE TABLE t2 LIKE t1;
connection con_to_harm_sleeper;
sleep 1;
CREATE TABLE t2 (b int);
disable_query_log;
select "-----------" as "let's take a look at result of create .. like : ";
enable_query_log;
connection con_to_sleep;
sleep 1;
--error 1
DROP TABLE t2;
connection con1;
reap;
disable_query_log;
select "" as "-----------";
enable_query_log;
send ALTER TABLE t1 CHANGE x2 x1 int;
connection con2;
CREATE TABLE t2 LIKE t1;
replace_result x1 xx x2 xx;
SHOW CREATE TABLE t2;
drop table t1, t2;
DROP TABLE t2;
connection con1;
reap;
dec $1;
}
DROP TABLE t1;

View File

@ -1963,11 +1963,6 @@ int mysql_create_like_table(THD* thd, TABLE_LIST* table,
/*
Create a new table by copying from source table
*/
#ifndef DBUG_OFF
// The code stated below is for test synchronization.test Bug #2385
if (test_flags & TEST_SYNCHRONIZATION)
sleep(3);
#endif
if (my_copy(src_path, dst_path, MYF(MY_WME|MY_DONT_OVERWRITE_FILE)))
goto err;