From 27bf97aa009c3c4823b06adea08add4deb7b34ce Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Tue, 24 Mar 2020 22:13:49 +0100 Subject: [PATCH] cleanup: dead code, comments, avoid current_thd --- sql/handler.cc | 4 ++-- sql/handler.h | 6 +++++- sql/sql_table.cc | 4 +++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/sql/handler.cc b/sql/handler.cc index c44e61ade87..04170d0f347 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -4860,7 +4860,7 @@ handler::ha_rename_table(const char *from, const char *to) int handler::ha_delete_table(const char *name) { - if (ha_check_if_updates_are_ignored(current_thd, ht, "DROP")) + if (ha_check_if_updates_are_ignored(ha_thd(), ht, "DROP")) return 0; // Simulate dropped mark_trx_read_write(); return delete_table(name); @@ -4880,7 +4880,7 @@ void handler::ha_drop_table(const char *name) { DBUG_ASSERT(m_lock_type == F_UNLCK); - if (ha_check_if_updates_are_ignored(current_thd, ht, "DROP")) + if (ha_check_if_updates_are_ignored(ha_thd(), ht, "DROP")) return; mark_trx_read_write(); diff --git a/sql/handler.h b/sql/handler.h index c3de2cb4752..8a946ae3518 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -1729,10 +1729,14 @@ handlerton *ha_default_tmp_handlerton(THD *thd); /* can be replicated by wsrep replication provider plugin */ #define HTON_WSREP_REPLICATION (1 << 13) -/* Shared storage on slave. Ignore on slave any CREATE TABLE, DROP or updates */ +/* + Set this on the *slave* that's connected to a shared with a master storage. + The slave will ignore any CREATE TABLE, DROP or updates for this engine. +*/ #define HTON_IGNORE_UPDATES (1 << 14) /* + Set this on the *master* that's connected to a shared with a slave storage. The table may not exists on the slave. The effects of having this flag are: - ALTER TABLE that changes engine from this table to another engine will be replicated as CREATE + INSERT diff --git a/sql/sql_table.cc b/sql/sql_table.cc index c6c542fd478..1538f26d449 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -5686,7 +5686,7 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table, int res= 1; bool is_trans= FALSE; bool do_logging= FALSE; - bool force_generated_create; + bool force_generated_create= false; uint not_used; int create_res; DBUG_ENTER("mysql_create_like_table"); @@ -5838,6 +5838,7 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table, if (thd->is_current_stmt_binlog_disabled()) goto err; +#ifdef ENABLE_WHEN_S3_CAN_CREATE_TABLES /* If we do a create based on a shared table, log the full create of the resulting table. This is needed as a shared table may look different @@ -5847,6 +5848,7 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table, (((src_table->table->s->db_type()->flags & HTON_TABLE_MAY_NOT_EXIST_ON_SLAVE) && src_table->table->s->db_type() != local_create_info.db_type)); +#endif if (thd->is_current_stmt_binlog_format_row() || force_generated_create) {