diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-04-09 15:49:59 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-04-09 15:49:59 +0200 |
commit | 15c936e4b3d151346c027bd4b51b44c826b095b6 (patch) | |
tree | 2a1de174be9f97f109c55af70854e891b8e45bdd /sql/table.cc | |
parent | 9594107fb8ce4c691c0cbb5891eef5add6ee105f (diff) | |
download | mariadb-git-15c936e4b3d151346c027bd4b51b44c826b095b6.tar.gz |
open_table_def() no longer probes for the old pre-5.1 table file names.
SELECT * FROM `t-1` will no longer read "t-1.frm" file, use `#mysql50#t-1` for this.
Diffstat (limited to 'sql/table.cc')
-rw-r--r-- | sql/table.cc | 45 |
1 files changed, 6 insertions, 39 deletions
diff --git a/sql/table.cc b/sql/table.cc index b8a631f6b18..647e8d3ee5a 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -621,48 +621,15 @@ enum open_frm_error open_table_def(THD *thd, TABLE_SHARE *share, uint flags) share->error= OPEN_FRM_OPEN_ERROR; strxmov(path, share->normalized_path.str, reg_ext, NullS); - if ((file= mysql_file_open(key_file_frm, - path, O_RDONLY | O_SHARE, MYF(0))) < 0) + file= mysql_file_open(key_file_frm, path, O_RDONLY | O_SHARE, MYF(0)); + if (file < 0) { - if (!has_disabled_path_chars(share->table_name.str) && - !has_disabled_path_chars(share->db.str)) + if ((flags & GTS_TABLE) && (flags & GTS_FORCE_DISCOVERY)) { - /* Try unencoded 5.0 name */ - uint length; - strxnmov(path, sizeof(path)-1, - mysql_data_home, "/", share->db.str, "/", - share->table_name.str, reg_ext, NullS); - length= unpack_filename(path, path) - reg_ext_length; - /* - The following is a safety test and should never fail - as the old file name should never be longer than the new one. - */ - DBUG_ASSERT(length <= share->normalized_path.length); - /* - If the old and the new names have the same length, - then table name does not have tricky characters, - so no need to check the old file name. - */ - if (length != share->normalized_path.length && - (file= mysql_file_open(key_file_frm, - path, O_RDONLY | O_SHARE, MYF(0))) >= 0) - { - /* Unencoded 5.0 table name found */ - path[length]= '\0'; // Remove .frm extension - strmov(share->normalized_path.str, path); - share->normalized_path.length= length; - } - } - /* still no luck? try to discover the table */ - if (file < 0) - { - if (flags & GTS_TABLE && flags & GTS_FORCE_DISCOVERY) - { - ha_discover_table(thd, share); - error_given= true; - } - goto err_not_open; + ha_discover_table(thd, share); + error_given= true; } + goto err_not_open; } if (mysql_file_read(file, head, sizeof(head), MYF(MY_NABP))) |