Loading myisam/mi_locking.c +0 −11 Original line number Diff line number Diff line Loading @@ -224,17 +224,6 @@ int mi_lock_database(MI_INFO *info, int lock_type) break; /* Impossible */ } } #ifdef __WIN__ else { /* The file has been closed and kfile is -1. See mi_extra.c about implementation of HA_EXTRA_PREPARE_FOR_DELETE. */ error=HA_ERR_NO_SUCH_TABLE; } #endif pthread_mutex_unlock(&share->intern_lock); #if defined(FULL_LOG) || defined(_lint) lock_type|=(int) (flag << 8); /* Set bit to set if real lock */ Loading mysql-test/r/windows.result +0 −28 Original line number Diff line number Diff line Loading @@ -6,31 +6,3 @@ use prn; ERROR 42000: Unknown database 'prn' create table nu (a int); drop table nu; CREATE TABLE `t1` ( `TIM` datetime NOT NULL, `VAL` double default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `t2` ( `TIM` datetime NOT NULL, `VAL` double default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `mt` ( `TIM` datetime NOT NULL, `VAL` double default NULL ) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`t1`,`t2`); INSERT INTO mt VALUES ('2006-01-01',0); ALTER TABLE `t2` RENAME TO `t`; INSERT INTO mt VALUES ('2006-01-01',0); ERROR HY000: Can't lock file (errno: 155) select * from mt; ERROR HY000: Can't lock file (errno: 155) FLUSH TABLES; select * from mt; ERROR HY000: Can't find file: 'mt' (errno: 2) ALTER TABLE `t` RENAME TO `t2`; INSERT INTO mt VALUES ('2006-01-01',0); select * from mt; TIM VAL 2006-01-01 00:00:00 0 2006-01-01 00:00:00 0 mysql-test/t/windows.test +0 −39 Original line number Diff line number Diff line Loading @@ -18,42 +18,3 @@ create table nu (a int); drop table nu; # End of 4.1 tests # # Bug #20789: Merge Subtable Rename Causes Crash # CREATE TABLE `t1` ( `TIM` datetime NOT NULL, `VAL` double default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `t2` ( `TIM` datetime NOT NULL, `VAL` double default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `mt` ( `TIM` datetime NOT NULL, `VAL` double default NULL ) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`t1`,`t2`); # insert into the merge table and thus open it. INSERT INTO mt VALUES ('2006-01-01',0); # Alter one of the tables that are part of the merge table ALTER TABLE `t2` RENAME TO `t`; # Insert into the merge table that has just been altered --error 1015 INSERT INTO mt VALUES ('2006-01-01',0); --error 1015 select * from mt; FLUSH TABLES; --error 1017 select * from mt; # Alter one of the tables that are part of the merge table ALTER TABLE `t` RENAME TO `t2`; INSERT INTO mt VALUES ('2006-01-01',0); select * from mt; Loading
myisam/mi_locking.c +0 −11 Original line number Diff line number Diff line Loading @@ -224,17 +224,6 @@ int mi_lock_database(MI_INFO *info, int lock_type) break; /* Impossible */ } } #ifdef __WIN__ else { /* The file has been closed and kfile is -1. See mi_extra.c about implementation of HA_EXTRA_PREPARE_FOR_DELETE. */ error=HA_ERR_NO_SUCH_TABLE; } #endif pthread_mutex_unlock(&share->intern_lock); #if defined(FULL_LOG) || defined(_lint) lock_type|=(int) (flag << 8); /* Set bit to set if real lock */ Loading
mysql-test/r/windows.result +0 −28 Original line number Diff line number Diff line Loading @@ -6,31 +6,3 @@ use prn; ERROR 42000: Unknown database 'prn' create table nu (a int); drop table nu; CREATE TABLE `t1` ( `TIM` datetime NOT NULL, `VAL` double default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `t2` ( `TIM` datetime NOT NULL, `VAL` double default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `mt` ( `TIM` datetime NOT NULL, `VAL` double default NULL ) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`t1`,`t2`); INSERT INTO mt VALUES ('2006-01-01',0); ALTER TABLE `t2` RENAME TO `t`; INSERT INTO mt VALUES ('2006-01-01',0); ERROR HY000: Can't lock file (errno: 155) select * from mt; ERROR HY000: Can't lock file (errno: 155) FLUSH TABLES; select * from mt; ERROR HY000: Can't find file: 'mt' (errno: 2) ALTER TABLE `t` RENAME TO `t2`; INSERT INTO mt VALUES ('2006-01-01',0); select * from mt; TIM VAL 2006-01-01 00:00:00 0 2006-01-01 00:00:00 0
mysql-test/t/windows.test +0 −39 Original line number Diff line number Diff line Loading @@ -18,42 +18,3 @@ create table nu (a int); drop table nu; # End of 4.1 tests # # Bug #20789: Merge Subtable Rename Causes Crash # CREATE TABLE `t1` ( `TIM` datetime NOT NULL, `VAL` double default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `t2` ( `TIM` datetime NOT NULL, `VAL` double default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE `mt` ( `TIM` datetime NOT NULL, `VAL` double default NULL ) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 INSERT_METHOD=LAST UNION=(`t1`,`t2`); # insert into the merge table and thus open it. INSERT INTO mt VALUES ('2006-01-01',0); # Alter one of the tables that are part of the merge table ALTER TABLE `t2` RENAME TO `t`; # Insert into the merge table that has just been altered --error 1015 INSERT INTO mt VALUES ('2006-01-01',0); --error 1015 select * from mt; FLUSH TABLES; --error 1017 select * from mt; # Alter one of the tables that are part of the merge table ALTER TABLE `t` RENAME TO `t2`; INSERT INTO mt VALUES ('2006-01-01',0); select * from mt;