Automatic merge

This commit is contained in:
Sergey Petrunya 2013-08-02 18:14:35 +04:00
commit cb5de276a3
4 changed files with 7 additions and 1 deletions

View file

@ -210,6 +210,7 @@ rpl_slave_state::truncate_state_table(THD *thd)
{
table= tlist.table;
table->no_replicate= 1;
table->s->is_gtid_slave_pos= TRUE; // TEMPORARY CODE
err= table->file->ha_truncate();
if (err)
@ -346,6 +347,7 @@ rpl_slave_state::record_gtid(THD *thd, const rpl_gtid *gtid, uint64 sub_id,
goto end;
table->no_replicate= 1;
table->s->is_gtid_slave_pos= TRUE; // TEMPORARY CODE
if (!in_transaction)
thd->variables.option_bits&=
~(ulonglong)(OPTION_NOT_AUTOCOMMIT|OPTION_BEGIN);

View file

@ -5001,7 +5001,7 @@ int THD::decide_logging_format(TABLE_LIST *tables)
DBUG_PRINT("info", ("table: %s; ha_table_flags: 0x%llx",
table->table_name, flags));
if (table->table->no_replicate)
if (table->table->no_replicate && !table->table->s->is_gtid_slave_pos)
{
/*
The statement uses a table that is not replicated.

View file

@ -315,6 +315,8 @@ TABLE_SHARE *alloc_table_share(const char *db, const char *table_name,
strmov(share->path.str, path);
share->normalized_path.str= share->path.str;
share->normalized_path.length= path_length;
/* TEMPORARY FIX: if true, this means this is mysql.gtid_slave_pos table */
share->is_gtid_slave_pos= FALSE;
share->table_category= get_table_category(& share->db, & share->table_name);
share->set_refresh_version();
share->open_errno= ENOENT;

View file

@ -644,6 +644,8 @@ struct TABLE_SHARE
LEX_STRING normalized_path; /* unpack_filename(path) */
LEX_STRING connect_string;
bool is_gtid_slave_pos;
/*
Set of keys in use, implemented as a Bitmap.
Excludes keys disabled by ALTER TABLE ... DISABLE KEYS.