summaryrefslogtreecommitdiff
path: root/sql/table.cc
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-04-09 15:49:59 +0200
committerSergei Golubchik <sergii@pisem.net>2013-04-09 15:49:59 +0200
commit15c936e4b3d151346c027bd4b51b44c826b095b6 (patch)
tree2a1de174be9f97f109c55af70854e891b8e45bdd /sql/table.cc
parent9594107fb8ce4c691c0cbb5891eef5add6ee105f (diff)
downloadmariadb-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.cc45
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)))