diff options
Diffstat (limited to 'sql/handler.cc')
-rw-r--r-- | sql/handler.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/sql/handler.cc b/sql/handler.cc index 6a42643919f..4d7c2eb228f 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -4993,7 +4993,7 @@ void handler::mark_trx_read_write_internal() table_share can be NULL, for example, in ha_delete_table() or ha_rename_table(). */ - if (table_share == NULL || table_share->tmp_table == NO_TMP_TABLE) + if (table_share == NULL || table_share->tmp_table <= NO_TMP_TABLE) ha_info->set_trx_read_write(); } } @@ -7037,8 +7037,7 @@ int handler::binlog_log_row(TABLE *table, THD *thd= table->in_use; DBUG_ENTER("binlog_log_row"); - if (!thd->binlog_table_maps && - thd->binlog_write_table_maps()) + if (!thd->binlog_table_maps && thd->binlog_write_table_maps(table)) DBUG_RETURN(HA_ERR_RBR_LOGGING_FAILED); error= (*log_func)(thd, table, row_logging_has_trans, @@ -7587,7 +7586,7 @@ int handler::ha_write_row(const uchar *buf) error= binlog_log_row(table, 0, buf, log_func); } #ifdef WITH_WSREP - if (WSREP_NNULL(ha_thd()) && table_share->tmp_table == NO_TMP_TABLE && + if (WSREP_NNULL(ha_thd()) && table_share->tmp_table <= NO_TMP_TABLE && ht->flags & HTON_WSREP_REPLICATION && !error && (error= wsrep_after_row(ha_thd()))) { @@ -7661,7 +7660,7 @@ int handler::ha_update_row(const uchar *old_data, const uchar *new_data) " can not mark as PA unsafe"); } - if (!error && table_share->tmp_table == NO_TMP_TABLE && + if (!error && table_share->tmp_table <= NO_TMP_TABLE && ht->flags & HTON_WSREP_REPLICATION) error= wsrep_after_row(thd); } @@ -7739,7 +7738,7 @@ int handler::ha_delete_row(const uchar *buf) " can not mark as PA unsafe"); } - if (!error && table_share->tmp_table == NO_TMP_TABLE && + if (!error && table_share->tmp_table <= NO_TMP_TABLE && ht->flags & HTON_WSREP_REPLICATION) error= wsrep_after_row(thd); } @@ -8615,8 +8614,8 @@ bool Table_period_info::check_field(const Create_field* f, } bool Table_scope_and_contents_source_st::check_fields( - THD *thd, Alter_info *alter_info, - const Lex_table_name &table_name, const Lex_table_name &db) + THD *thd, Alter_info *alter_info, const Lex_table_name &table_name, + const Lex_table_name &db) { return (vers_check_system_fields(thd, alter_info, table_name, db) || check_period_fields(thd, alter_info)); |