Hi Sergei, ok to push. One note inline. On Fri, Jun 20, 2014 at 11:29:36AM +0200, serg@mariadb.org wrote:
revision-id: 22f532cfb2f40132e2f7b079a3aafb109af92c26 parent(s): fb8818c1aff9ce67b74f965c019cad93addd811e committer: Sergei Golubchik branch nick: maria timestamp: 2014-06-20 11:29:12 +0200 message:
MDEV-4260 Don't create frm files for temporary tables
* Don't write frm for tmp tables * pass frm image down to open_table_uncached, when possible * don't use truncate-by-recreate for temp tables - cannot recreate without frm, and delete_all_rows is faster anyway * remove HTON_FLUSH_AFTER_RENAME (BDB-ism, unused for years)
--- mysql-test/r/temp_table_frm.result | 20 +++++++++++ mysql-test/t/temp_table_frm.test | 13 ++++++++ sql/handler.h | 2 +- sql/sql_base.cc | 14 +++++++- sql/sql_base.h | 3 +- sql/sql_table.cc | 27 +++------------ sql/sql_truncate.cc | 68 +------------------------------------- sql/unireg.cc | 3 +- 8 files changed, 56 insertions(+), 94 deletions(-)
...skip...
diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 0558066..7d69ccb 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -5561,7 +5563,17 @@ TABLE *open_table_uncached(THD *thd, handlerton *hton, strend(saved_cache_key)+1, tmp_path); share->db_plugin= ha_lock_engine(thd, hton);
- if (open_table_def(thd, share, GTS_TABLE | GTS_USE_DISCOVERY)) + /* + Use the frm image, if possible, open the file otherwise. + + The image might be unavailable in ALTER TABLE, when the discovering + engine took over the ownership (see TABLE::read_frm_image). + */ + int res= frm->str + ? res= share->init_from_binary_frm_image(thd, false, frm->str, frm->length) Excessive "res="?
Regards, Sergey