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