diff options
| author | Jan Lindström <jan.lindstrom@mariadb.com> | 2021-09-16 12:14:39 +0300 |
|---|---|---|
| committer | Jan Lindström <jan.lindstrom@mariadb.com> | 2021-09-17 07:18:37 +0300 |
| commit | d3b35598fcf8c83c8e2c1a004d507c95a42eb174 (patch) | |
| tree | afcec62030cd180a9410138b7da1fc0d753441c5 /sql/sql_truncate.cc | |
| parent | 5b0a76078a8ea38e8e19e3e2c49f0f7e091e2f72 (diff) | |
| download | mariadb-git-d3b35598fcf8c83c8e2c1a004d507c95a42eb174.tar.gz | |
MDEV-26053 : TRUNCATE on table with Foreign Key Constraint no longer replicated to other nodesbb-10.4-truncate
Problem was that there was extra condition !thd->lex->no_write_to_binlog
before call to begin TOI. It seems that this variable is not initialized.
TRUNCATE does not support [NO_WRITE_TO_BINLOG | LOCAL] keywords, thus
we should not check this condition. All this was hidden in a macro,
so I decided to remove those macros that were used only a few places
with actual function calls.
Diffstat (limited to 'sql/sql_truncate.cc')
| -rw-r--r-- | sql/sql_truncate.cc | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/sql/sql_truncate.cc b/sql/sql_truncate.cc index aca43021798..62f6f8a3f90 100644 --- a/sql/sql_truncate.cc +++ b/sql/sql_truncate.cc @@ -424,15 +424,13 @@ bool Sql_cmd_truncate_table::truncate_table(THD *thd, TABLE_LIST *table_ref) { if (keys.empty()) { - WSREP_TO_ISOLATION_BEGIN_IF(table_ref->db.str, table_ref->table_name.str, NULL) - { + if (wsrep_to_isolation_begin(thd, table_ref->db.str, table_ref->table_name.str, NULL)) DBUG_RETURN(TRUE); - } - } else { - WSREP_TO_ISOLATION_BEGIN_FK_TABLES(NULL, NULL, table_ref, &keys) - { + } + else + { + if (wsrep_to_isolation_begin(thd, NULL, NULL, table_ref, NULL, &keys)) DBUG_RETURN(TRUE); - } } } } |
