diff options
author | Michael Widenius <monty@askmonty.org> | 2012-05-16 18:44:17 +0300 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2012-05-16 18:44:17 +0300 |
commit | 6d8e329c9a1f1e80bd0e9bc30397aa8349aa7c70 (patch) | |
tree | dbb781cd1d0f004e75802a90e34a31353d1de5ae /sql/sql_partition.cc | |
parent | c17bace4f0d05a6852c465513005812e5dc35b6f (diff) | |
download | mariadb-git-6d8e329c9a1f1e80bd0e9bc30397aa8349aa7c70.tar.gz |
Fixed bug LP:973039 - Assertion `share->in_trans == 0' failed in maria_close on DROP TABLE under LOCK
- 5.5 was missing calls to ha_extra(HA_PREPARE_FOR_DROP | HA_PREPARE_FOR_RENAME); Lost in merge 5.3 -> 5.5
sql/sql_admin.cc:
Updated arguments for close_all_tables_for_name
sql/sql_base.h:
Updated arguments for close_all_tables_for_name
sql/sql_partition.cc:
Updated arguments for close_all_tables_for_name
sql/sql_table.cc:
Updated arguments for close_all_tables_for_name
Removed test of kill, as we have already called 'ha_extra(HA_PREPARE_FOR_DROP)' and the table may be inconsistent.
sql/sql_trigger.cc:
Updated arguments for close_all_tables_for_name
sql/sql_truncate.cc:
For truncate that is done with drop + recreate, signal that the table will be dropped.
Diffstat (limited to 'sql/sql_partition.cc')
-rw-r--r-- | sql/sql_partition.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc index 9ba0569f1e0..00c70c5f973 100644 --- a/sql/sql_partition.cc +++ b/sql/sql_partition.cc @@ -6270,7 +6270,7 @@ static void alter_partition_lock_handling(ALTER_PARTITION_PARAM_TYPE *lpt) THD *thd= lpt->thd; if (lpt->old_table) - close_all_tables_for_name(thd, lpt->old_table->s, FALSE); + close_all_tables_for_name(thd, lpt->old_table->s, HA_EXTRA_NORMAL); if (lpt->table) { /* @@ -6307,7 +6307,7 @@ static int alter_close_tables(ALTER_PARTITION_PARAM_TYPE *lpt, bool close_old) } if (close_old && lpt->old_table) { - close_all_tables_for_name(lpt->thd, lpt->old_table->s, FALSE); + close_all_tables_for_name(lpt->thd, lpt->old_table->s, HA_EXTRA_NORMAL); lpt->old_table= 0; } DBUG_RETURN(0); |