summaryrefslogtreecommitdiff
path: root/sql/sql_truncate.cc
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2021-09-16 12:14:39 +0300
committerJan Lindström <jan.lindstrom@mariadb.com>2021-09-17 07:18:37 +0300
commitd3b35598fcf8c83c8e2c1a004d507c95a42eb174 (patch)
treeafcec62030cd180a9410138b7da1fc0d753441c5 /sql/sql_truncate.cc
parent5b0a76078a8ea38e8e19e3e2c49f0f7e091e2f72 (diff)
downloadmariadb-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.cc12
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);
- }
}
}
}