summaryrefslogtreecommitdiff
path: root/sql/sql_truncate.cc
diff options
context:
space:
mode:
authorDavi Arnaut <Davi.Arnaut@Sun.COM>2010-05-27 18:11:55 -0300
committerDavi Arnaut <Davi.Arnaut@Sun.COM>2010-05-27 18:11:55 -0300
commitad081387989b5b62d3e5f08bc69c0191aa4cdccb (patch)
treeca61ea93a3213ce7dd2696e368401f3002a4743f /sql/sql_truncate.cc
parentfcbc77b064b7fde7c0d5519e89b3715bbac8fc2c (diff)
downloadmariadb-git-ad081387989b5b62d3e5f08bc69c0191aa4cdccb.tar.gz
Bug#42643: InnoDB does not support replication of TRUNCATE TABLE
Post-merge fix: Pass the right parameter type to open_and_lock_tables. Passing FALSE ensures that derived table handling is disabled, truncate only operates on base tables. sql/sql_truncate.cc: Pass FALSE to disable derived table handling. This was probably reminiscent of the use of open_n_lock_single_table, which can't be used as in some cases (e.g. merge) more than one table will be opened. sql/sql_truncate.h: TABLE_LIST is a struct.
Diffstat (limited to 'sql/sql_truncate.cc')
-rw-r--r--sql/sql_truncate.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/sql_truncate.cc b/sql/sql_truncate.cc
index 8fc04588aaa..901ab8e987d 100644
--- a/sql/sql_truncate.cc
+++ b/sql/sql_truncate.cc
@@ -351,7 +351,7 @@ static bool open_and_lock_table_for_truncate(THD *thd, TABLE_LIST *table_ref,
the MDL lock taken above and otherwise there is no way to
wait for FLUSH TABLES in deadlock-free fashion.
*/
- if (open_and_lock_tables(thd, table_ref, TL_WRITE,
+ if (open_and_lock_tables(thd, table_ref, FALSE,
MYSQL_OPEN_IGNORE_FLUSH |
MYSQL_OPEN_SKIP_TEMPORARY))
DBUG_RETURN(TRUE);
@@ -406,7 +406,7 @@ bool mysql_truncate_table(THD *thd, TABLE_LIST *table_ref)
table and delete all rows. In such a manner this can in fact
open several tables if it's a temporary MyISAMMRG table.
*/
- if (open_and_lock_tables(thd, table_ref, TL_WRITE,
+ if (open_and_lock_tables(thd, table_ref, FALSE,
MYSQL_OPEN_TEMPORARY_ONLY))
DBUG_RETURN(TRUE);