Loading mysql-test/r/sp.result +2 −2 Original line number Diff line number Diff line Loading @@ -4920,7 +4920,7 @@ create table t3 as select bug12472() as i| show create table t3| Table Create Table t3 CREATE TABLE `t3` ( `i` int(11) default NULL `i` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 select * from t3| i Loading @@ -4931,7 +4931,7 @@ create table t3 as select * from v1| show create table t3| Table Create Table t3 CREATE TABLE `t3` ( `j` bigint(11) default NULL `j` bigint(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 select * from t3| j Loading mysql-test/r/trigger-grant.result +1 −1 Original line number Diff line number Diff line Loading @@ -376,7 +376,7 @@ CREATE TABLE t1 (i1 INT); CREATE TABLE t2 (i1 INT); CREATE USER mysqltest_dfn@localhost; CREATE USER mysqltest_inv@localhost; GRANT EXECUTE, CREATE ROUTINE, SUPER ON *.* TO mysqltest_dfn@localhost; GRANT EXECUTE, CREATE ROUTINE, TRIGGER ON *.* TO mysqltest_dfn@localhost; GRANT INSERT ON mysqltest_db1.* TO mysqltest_inv@localhost; CREATE PROCEDURE p1(OUT i INT) DETERMINISTIC NO SQL SET i = 3; CREATE PROCEDURE p2(INOUT i INT) DETERMINISTIC NO SQL SET i = i * 5; Loading mysql-test/t/trigger-grant.test +1 −1 Original line number Diff line number Diff line Loading @@ -718,7 +718,7 @@ CREATE TABLE t2 (i1 INT); CREATE USER mysqltest_dfn@localhost; CREATE USER mysqltest_inv@localhost; GRANT EXECUTE, CREATE ROUTINE, SUPER ON *.* TO mysqltest_dfn@localhost; GRANT EXECUTE, CREATE ROUTINE, TRIGGER ON *.* TO mysqltest_dfn@localhost; GRANT INSERT ON mysqltest_db1.* TO mysqltest_inv@localhost; connect (definer,localhost,mysqltest_dfn,,mysqltest_db1); Loading sql/sql_insert.cc +14 −5 Original line number Diff line number Diff line Loading @@ -2538,6 +2538,7 @@ bool select_insert::send_eof() (open) will be returned in this parameter. Since this table is not included in THD::lock caller is responsible for explicitly unlocking this table. hooks NOTES If 'create_info->options' bitmask has HA_LEX_CREATE_IF_NOT_EXISTS Loading @@ -2556,10 +2557,13 @@ bool select_insert::send_eof() static TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info, TABLE_LIST *create_table, List<create_field> *extra_fields, List<Key> *keys, List<Item> *items, MYSQL_LOCK **lock) List<Key> *keys, List<Item> *items, MYSQL_LOCK **lock, TABLEOP_HOOKS *hooks) { TABLE tmp_table; // Used during 'create_field()' TABLE_SHARE share; TABLE *table= 0; uint select_field_count= items->elements; /* Add selected items to field list */ Loading @@ -2571,11 +2575,14 @@ static TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info, tmp_table.alias= 0; tmp_table.timestamp_field= 0; tmp_table.s= &tmp_table.share_not_to_be_used; tmp_table.s= &share; init_tmp_table_share(&share, "", 0, "", ""); tmp_table.s->db_create_options=0; tmp_table.s->blob_ptr_size= portable_sizeof_char_ptr; tmp_table.s->db_low_byte_first= test(create_info->db_type == DB_TYPE_MYISAM || create_info->db_type == DB_TYPE_HEAP); tmp_table.s->db_low_byte_first= test(create_info->db_type == &myisam_hton || create_info->db_type == &heap_hton); tmp_table.null_row=tmp_table.maybe_null=0; while ((item=it++)) Loading Loading @@ -2631,6 +2638,7 @@ static TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info, under explicit LOCK TABLES since it will open gap for deadlock too wide (and also is not backward compatible). */ if (! (table= open_table(thd, create_table, thd->mem_root, (bool*) 0, (MYSQL_LOCK_IGNORE_FLUSH | ((thd->prelocked_mode == PRELOCKED) ? Loading @@ -2650,6 +2658,7 @@ static TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info, save us from that ? */ table->reginfo.lock_type=TL_WRITE; hooks->prelock(&table, 1); // Call prelock hooks if (! ((*lock)= mysql_lock_tables(thd, &table, 1, MYSQL_LOCK_IGNORE_FLUSH, ¬_used))) { Loading Loading
mysql-test/r/sp.result +2 −2 Original line number Diff line number Diff line Loading @@ -4920,7 +4920,7 @@ create table t3 as select bug12472() as i| show create table t3| Table Create Table t3 CREATE TABLE `t3` ( `i` int(11) default NULL `i` int(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 select * from t3| i Loading @@ -4931,7 +4931,7 @@ create table t3 as select * from v1| show create table t3| Table Create Table t3 CREATE TABLE `t3` ( `j` bigint(11) default NULL `j` bigint(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 select * from t3| j Loading
mysql-test/r/trigger-grant.result +1 −1 Original line number Diff line number Diff line Loading @@ -376,7 +376,7 @@ CREATE TABLE t1 (i1 INT); CREATE TABLE t2 (i1 INT); CREATE USER mysqltest_dfn@localhost; CREATE USER mysqltest_inv@localhost; GRANT EXECUTE, CREATE ROUTINE, SUPER ON *.* TO mysqltest_dfn@localhost; GRANT EXECUTE, CREATE ROUTINE, TRIGGER ON *.* TO mysqltest_dfn@localhost; GRANT INSERT ON mysqltest_db1.* TO mysqltest_inv@localhost; CREATE PROCEDURE p1(OUT i INT) DETERMINISTIC NO SQL SET i = 3; CREATE PROCEDURE p2(INOUT i INT) DETERMINISTIC NO SQL SET i = i * 5; Loading
mysql-test/t/trigger-grant.test +1 −1 Original line number Diff line number Diff line Loading @@ -718,7 +718,7 @@ CREATE TABLE t2 (i1 INT); CREATE USER mysqltest_dfn@localhost; CREATE USER mysqltest_inv@localhost; GRANT EXECUTE, CREATE ROUTINE, SUPER ON *.* TO mysqltest_dfn@localhost; GRANT EXECUTE, CREATE ROUTINE, TRIGGER ON *.* TO mysqltest_dfn@localhost; GRANT INSERT ON mysqltest_db1.* TO mysqltest_inv@localhost; connect (definer,localhost,mysqltest_dfn,,mysqltest_db1); Loading
sql/sql_insert.cc +14 −5 Original line number Diff line number Diff line Loading @@ -2538,6 +2538,7 @@ bool select_insert::send_eof() (open) will be returned in this parameter. Since this table is not included in THD::lock caller is responsible for explicitly unlocking this table. hooks NOTES If 'create_info->options' bitmask has HA_LEX_CREATE_IF_NOT_EXISTS Loading @@ -2556,10 +2557,13 @@ bool select_insert::send_eof() static TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info, TABLE_LIST *create_table, List<create_field> *extra_fields, List<Key> *keys, List<Item> *items, MYSQL_LOCK **lock) List<Key> *keys, List<Item> *items, MYSQL_LOCK **lock, TABLEOP_HOOKS *hooks) { TABLE tmp_table; // Used during 'create_field()' TABLE_SHARE share; TABLE *table= 0; uint select_field_count= items->elements; /* Add selected items to field list */ Loading @@ -2571,11 +2575,14 @@ static TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info, tmp_table.alias= 0; tmp_table.timestamp_field= 0; tmp_table.s= &tmp_table.share_not_to_be_used; tmp_table.s= &share; init_tmp_table_share(&share, "", 0, "", ""); tmp_table.s->db_create_options=0; tmp_table.s->blob_ptr_size= portable_sizeof_char_ptr; tmp_table.s->db_low_byte_first= test(create_info->db_type == DB_TYPE_MYISAM || create_info->db_type == DB_TYPE_HEAP); tmp_table.s->db_low_byte_first= test(create_info->db_type == &myisam_hton || create_info->db_type == &heap_hton); tmp_table.null_row=tmp_table.maybe_null=0; while ((item=it++)) Loading Loading @@ -2631,6 +2638,7 @@ static TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info, under explicit LOCK TABLES since it will open gap for deadlock too wide (and also is not backward compatible). */ if (! (table= open_table(thd, create_table, thd->mem_root, (bool*) 0, (MYSQL_LOCK_IGNORE_FLUSH | ((thd->prelocked_mode == PRELOCKED) ? Loading @@ -2650,6 +2658,7 @@ static TABLE *create_table_from_items(THD *thd, HA_CREATE_INFO *create_info, save us from that ? */ table->reginfo.lock_type=TL_WRITE; hooks->prelock(&table, 1); // Call prelock hooks if (! ((*lock)= mysql_lock_tables(thd, &table, 1, MYSQL_LOCK_IGNORE_FLUSH, ¬_used))) { Loading