mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge branch '5.5' into 10.0
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright (c) 2000, 2015, Oracle and/or its affiliates.
|
||||
Copyright (c) 2000, 2016, Oracle and/or its affiliates.
|
||||
Copyright (c) 2010, 2016, MariaDB
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@@ -5421,6 +5421,9 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
||||
/*
|
||||
We have to write the query before we unlock the tables.
|
||||
*/
|
||||
if (thd->is_current_stmt_binlog_disabled())
|
||||
goto err;
|
||||
|
||||
if (thd->is_current_stmt_binlog_format_row())
|
||||
{
|
||||
/*
|
||||
@@ -5491,6 +5494,21 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
||||
*/
|
||||
if (!table->view)
|
||||
{
|
||||
/*
|
||||
After opening a MERGE table add the children to the query list of
|
||||
tables, so that children tables info can be used on "CREATE TABLE"
|
||||
statement generation by the binary log.
|
||||
Note that placeholders don't have the handler open.
|
||||
*/
|
||||
if (table->table->file->extra(HA_EXTRA_ADD_CHILDREN_LIST))
|
||||
goto err;
|
||||
|
||||
/*
|
||||
As the reference table is temporary and may not exist on slave, we must
|
||||
force the ENGINE to be present into CREATE TABLE.
|
||||
*/
|
||||
create_info->used_fields|= HA_CREATE_USED_ENGINE;
|
||||
|
||||
int result __attribute__((unused))=
|
||||
show_create_table(thd, table, &query, create_info, WITH_DB_NAME);
|
||||
|
||||
@@ -8434,7 +8452,7 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
|
||||
till this point for the alter operation.
|
||||
*/
|
||||
if ((alter_info->flags & Alter_info::ADD_FOREIGN_KEY) &&
|
||||
check_fk_parent_table_access(thd, create_info, alter_info))
|
||||
check_fk_parent_table_access(thd, create_info, alter_info, new_db))
|
||||
DBUG_RETURN(true);
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user