diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-06-15 19:09:31 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-06-15 19:09:31 +0200 |
commit | 68a6705ed1dc7a0ff5c86910e23989f97788e741 (patch) | |
tree | 9c9c157920481f06dc13344e86be5c92c68dc473 /sql/handler.cc | |
parent | 6a0a4f00a1741df68c0d201e090f5d28f59410c8 (diff) | |
download | mariadb-git-68a6705ed1dc7a0ff5c86910e23989f97788e741.tar.gz |
MDEV-4441 DROP DATABASE with a newly created ARCHIVE table does not work
1. DROP DATABASE should use ha_discover_table_names(), not look at .frm files.
2. filename_to_tablename() also encodes temp file names #sql- -> #mysql50##sql
3. no special treatment for #sql- files, no TABLE_LIST::internal_tmp_table
4. discover also table file names, that start from #
Diffstat (limited to 'sql/handler.cc')
-rw-r--r-- | sql/handler.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/handler.cc b/sql/handler.cc index 660697cd74b..7a6edc967ba 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -4634,12 +4634,12 @@ static my_bool discover_names(THD *thd, plugin_ref plugin, } int ha_discover_table_names(THD *thd, LEX_STRING *db, MY_DIR *dirp, - Discovered_table_list *result) + Discovered_table_list *result, bool reusable) { int error; DBUG_ENTER("ha_discover_table_names"); - if (engines_with_discover_table_names == 0) + if (engines_with_discover_table_names == 0 && !reusable) { error= ext_table_discovery_simple(dirp, result); result->sort(); |