Loading innobase/row/row0mysql.c +5 −0 Original line number Diff line number Diff line Loading @@ -3151,6 +3151,7 @@ row_drop_table_for_mysql( foreign = UT_LIST_GET_FIRST(table->referenced_list); while (foreign && foreign->foreign_table == table) { check_next_foreign: foreign = UT_LIST_GET_NEXT(referenced_list, foreign); } Loading Loading @@ -3179,6 +3180,10 @@ row_drop_table_for_mysql( goto funct_exit; } if (foreign && trx->check_foreigns) { goto check_next_foreign; } if (table->n_mysql_handles_opened > 0) { ibool added; Loading mysql-test/r/union.result +14 −0 Original line number Diff line number Diff line Loading @@ -1252,6 +1252,20 @@ t2 CREATE TABLE `t2` ( `a` varchar(12) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED drop table t1,t2; CREATE TABLE t1 (a mediumtext); CREATE TABLE t2 (b varchar(20)); INSERT INTO t1 VALUES ('a'),('b'); SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2; left(a,100000000) a b create table t3 SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2; show create table t3; Table Create Table t3 CREATE TABLE `t3` ( `left(a,100000000)` longtext ) ENGINE=MyISAM DEFAULT CHARSET=latin1 drop tables t1,t2,t3; create table t1 ( id int not null auto_increment, primary key (id), col1 int); insert into t1 (col1) values (2),(3),(4),(5),(6); select 99 union all select id from t1 order by 1; Loading mysql-test/t/union.test +10 −0 Original line number Diff line number Diff line Loading @@ -773,6 +773,16 @@ alter table t2 ROW_FORMAT=fixed; show create table t2; drop table t1,t2; # # correct conversion long string to TEXT (BUG#10025) # CREATE TABLE t1 (a mediumtext); CREATE TABLE t2 (b varchar(20)); INSERT INTO t1 VALUES ('a'),('b'); SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2; create table t3 SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2; show create table t3; drop tables t1,t2,t3; # # Bug #10032 Bug in parsing UNION with ORDER BY when one node does not use FROM Loading sql/ha_innodb.cc +2 −1 Original line number Diff line number Diff line Loading @@ -6482,7 +6482,8 @@ ha_innobase::store_lock( if ((lock_type >= TL_WRITE_CONCURRENT_INSERT && lock_type <= TL_WRITE) && !thd->in_lock_tables && !thd->tablespace_op && thd->lex->sql_command != SQLCOM_TRUNCATE) { && thd->lex->sql_command != SQLCOM_TRUNCATE && thd->lex->sql_command != SQLCOM_CREATE_TABLE) { lock_type = TL_WRITE_ALLOW_WRITE; } Loading Loading
innobase/row/row0mysql.c +5 −0 Original line number Diff line number Diff line Loading @@ -3151,6 +3151,7 @@ row_drop_table_for_mysql( foreign = UT_LIST_GET_FIRST(table->referenced_list); while (foreign && foreign->foreign_table == table) { check_next_foreign: foreign = UT_LIST_GET_NEXT(referenced_list, foreign); } Loading Loading @@ -3179,6 +3180,10 @@ row_drop_table_for_mysql( goto funct_exit; } if (foreign && trx->check_foreigns) { goto check_next_foreign; } if (table->n_mysql_handles_opened > 0) { ibool added; Loading
mysql-test/r/union.result +14 −0 Original line number Diff line number Diff line Loading @@ -1252,6 +1252,20 @@ t2 CREATE TABLE `t2` ( `a` varchar(12) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED drop table t1,t2; CREATE TABLE t1 (a mediumtext); CREATE TABLE t2 (b varchar(20)); INSERT INTO t1 VALUES ('a'),('b'); SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2; left(a,100000000) a b create table t3 SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2; show create table t3; Table Create Table t3 CREATE TABLE `t3` ( `left(a,100000000)` longtext ) ENGINE=MyISAM DEFAULT CHARSET=latin1 drop tables t1,t2,t3; create table t1 ( id int not null auto_increment, primary key (id), col1 int); insert into t1 (col1) values (2),(3),(4),(5),(6); select 99 union all select id from t1 order by 1; Loading
mysql-test/t/union.test +10 −0 Original line number Diff line number Diff line Loading @@ -773,6 +773,16 @@ alter table t2 ROW_FORMAT=fixed; show create table t2; drop table t1,t2; # # correct conversion long string to TEXT (BUG#10025) # CREATE TABLE t1 (a mediumtext); CREATE TABLE t2 (b varchar(20)); INSERT INTO t1 VALUES ('a'),('b'); SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2; create table t3 SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2; show create table t3; drop tables t1,t2,t3; # # Bug #10032 Bug in parsing UNION with ORDER BY when one node does not use FROM Loading
sql/ha_innodb.cc +2 −1 Original line number Diff line number Diff line Loading @@ -6482,7 +6482,8 @@ ha_innobase::store_lock( if ((lock_type >= TL_WRITE_CONCURRENT_INSERT && lock_type <= TL_WRITE) && !thd->in_lock_tables && !thd->tablespace_op && thd->lex->sql_command != SQLCOM_TRUNCATE) { && thd->lex->sql_command != SQLCOM_TRUNCATE && thd->lex->sql_command != SQLCOM_CREATE_TABLE) { lock_type = TL_WRITE_ALLOW_WRITE; } Loading