diff options
author | sjaakola <seppo.jaakola@iki.fi> | 2017-02-16 23:19:10 +0200 |
---|---|---|
committer | Jan Lindström <jan.lindstrom@mariadb.com> | 2017-08-11 13:23:51 +0300 |
commit | 7ef2d5aa5b5d0179d40bd42afea874235b8b60f8 (patch) | |
tree | fd6a5094243c31e603ef65c77f582d7867aba18a /sql/wsrep_mysqld.cc | |
parent | 364b15c090e7337eb752eec4bea239052f73b2ed (diff) | |
download | mariadb-git-7ef2d5aa5b5d0179d40bd42afea874235b8b60f8.tar.gz |
Refs: MW-360 * splitting DROP TABLE query in separate DROP commands for temporary and real tables * not replicating temporary table DROP command * using wsrep_sidno GTID group only for innodb table drop command part all this follows more or less the logic of how mysql wants to split drop table list
Diffstat (limited to 'sql/wsrep_mysqld.cc')
-rw-r--r-- | sql/wsrep_mysqld.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sql/wsrep_mysqld.cc b/sql/wsrep_mysqld.cc index 353911dcfde..6d0c5e75592 100644 --- a/sql/wsrep_mysqld.cc +++ b/sql/wsrep_mysqld.cc @@ -1211,7 +1211,7 @@ create_view_query(THD *thd, uchar** buf, size_t* buf_len) 1: TOI replication was skipped -1: TOI replication failed */ -static int wsrep_TOI_begin(THD *thd, char *db_, char *table_, +static int wsrep_TOI_begin(THD *thd, const char *query, char *db_, char *table_, const TABLE_LIST* table_list) { wsrep_status_t ret(WSREP_WARNING); @@ -1247,8 +1247,9 @@ static int wsrep_TOI_begin(THD *thd, char *db_, char *table_, } /* fallthrough */ default: - buf_err= wsrep_to_buf_helper(thd, thd->query(), thd->query_length(), &buf, - &buf_len); + buf_err= wsrep_to_buf_helper(thd, (query) ? query : thd->query(), + (query) ? strlen(query) : thd->query_length(), + &buf, &buf_len); break; } @@ -1397,7 +1398,7 @@ static void wsrep_RSU_end(THD *thd) thd->variables.wsrep_on = 1; } -int wsrep_to_isolation_begin(THD *thd, char *db_, char *table_, +int wsrep_to_isolation_begin(THD *thd, const char *query, char *db_, char *table_, const TABLE_LIST* table_list) { @@ -1452,7 +1453,7 @@ int wsrep_to_isolation_begin(THD *thd, char *db_, char *table_, if (thd->variables.wsrep_on && thd->wsrep_exec_mode==LOCAL_STATE) { switch (thd->variables.wsrep_OSU_method) { - case WSREP_OSU_TOI: ret = wsrep_TOI_begin(thd, db_, table_, + case WSREP_OSU_TOI: ret = wsrep_TOI_begin(thd, query, db_, table_, table_list); break; case WSREP_OSU_RSU: ret = wsrep_RSU_begin(thd, db_, table_); break; default: |