mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge from 10.0-base to 10.0 the feature MDEV-4506: Parallel replication.
The merge is still missing a few hunks related to temporary tables and InnoDB log file size. The associated code did not seem to exist in 10.0, so the merge of that needs more work. Until this is fixed, there are a number of test failures as a result.
This commit is contained in:
@ -80,6 +80,8 @@ void mysql_client_binlog_statement(THD* thd)
|
||||
my_bool have_fd_event= TRUE;
|
||||
int err;
|
||||
Relay_log_info *rli;
|
||||
rpl_group_info *rgi;
|
||||
|
||||
rli= thd->rli_fake;
|
||||
if (!rli)
|
||||
{
|
||||
@ -95,6 +97,9 @@ void mysql_client_binlog_statement(THD* thd)
|
||||
new Format_description_log_event(4);
|
||||
have_fd_event= FALSE;
|
||||
}
|
||||
if (!(rgi= thd->rgi_fake))
|
||||
rgi= thd->rgi_fake= new rpl_group_info(rli);
|
||||
rgi->thd= thd;
|
||||
|
||||
const char *error= 0;
|
||||
char *buf= (char *) my_malloc(decoded_len, MYF(MY_WME));
|
||||
@ -111,7 +116,7 @@ void mysql_client_binlog_statement(THD* thd)
|
||||
goto end;
|
||||
}
|
||||
|
||||
rli->sql_thd= thd;
|
||||
rli->sql_driver_thd= thd;
|
||||
rli->no_storage= TRUE;
|
||||
|
||||
for (char const *strptr= thd->lex->comment.str ;
|
||||
@ -233,7 +238,7 @@ void mysql_client_binlog_statement(THD* thd)
|
||||
(ev->flags & LOG_EVENT_SKIP_REPLICATION_F ?
|
||||
OPTION_SKIP_REPLICATION : 0);
|
||||
|
||||
err= ev->apply_event(rli);
|
||||
err= ev->apply_event(rgi);
|
||||
|
||||
thd->variables.option_bits=
|
||||
(thd->variables.option_bits & ~OPTION_SKIP_REPLICATION) |
|
||||
@ -268,7 +273,7 @@ void mysql_client_binlog_statement(THD* thd)
|
||||
|
||||
end:
|
||||
thd->variables.option_bits= thd_options;
|
||||
rli->slave_close_thread_tables(thd);
|
||||
rgi->slave_close_thread_tables(thd);
|
||||
my_free(buf);
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
Reference in New Issue
Block a user