diff options
| author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-03-05 10:36:51 +0200 |
|---|---|---|
| committer | Marko Mäkelä <marko.makela@mariadb.com> | 2021-03-05 10:36:51 +0200 |
| commit | 8bab5bb332aec671febbfc1b9c30c2b269c1d7d4 (patch) | |
| tree | 67f1dfddcba6458408565eb9065234a325156d66 /sql/sql_truncate.cc | |
| parent | 82efe4a15a985c3902e80eb7e1a70841c08d9f2e (diff) | |
| parent | 5bd994b0d56d11bf62717a84172c49ca9ed37de4 (diff) | |
| download | mariadb-git-8bab5bb332aec671febbfc1b9c30c2b269c1d7d4.tar.gz | |
Merge 10.3 into 10.4
Diffstat (limited to 'sql/sql_truncate.cc')
| -rw-r--r-- | sql/sql_truncate.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sql/sql_truncate.cc b/sql/sql_truncate.cc index e7ecdda958e..c495a417961 100644 --- a/sql/sql_truncate.cc +++ b/sql/sql_truncate.cc @@ -465,6 +465,15 @@ bool Sql_cmd_truncate_table::truncate_table(THD *thd, TABLE_LIST *table_ref) */ error= handler_truncate(thd, table_ref, FALSE); + if (error == TRUNCATE_OK && thd->locked_tables_mode && + (table_ref->table->file->ht->flags & + HTON_REQUIRES_CLOSE_AFTER_TRUNCATE)) + { + thd->locked_tables_list.mark_table_for_reopen(thd, table_ref->table); + if (unlikely(thd->locked_tables_list.reopen_tables(thd, true))) + thd->locked_tables_list.unlink_all_closed_tables(thd, NULL, 0); + } + /* All effects of a TRUNCATE TABLE operation are committed even if truncation fails in the case of non transactional tables. Thus, the |
