summaryrefslogtreecommitdiff
path: root/sql/datadict.cc
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-04-09 15:34:17 +0200
committerSergei Golubchik <sergii@pisem.net>2013-04-09 15:34:17 +0200
commit163882665eed8c065953bdce05aaa152b6b5df0f (patch)
tree8f537f7e5a92454ce4dee106660b0389bf2156da /sql/datadict.cc
parent5ad68a0d2f66b2d36f0a509c443829d58477caa2 (diff)
downloadmariadb-git-163882665eed8c065953bdce05aaa152b6b5df0f.tar.gz
* don't use 1-8 numbers for open_table_error codes, use an enum.
* print "table doesn't exist in engine" when a table doesn't exist in the engine, instead of "file not found" (if no file was involved) * print a complete filename that cannot be found ('t1.MYI', not 't1') * it's not an error for a DROP if a table doesn't exist in the engine (or some table files cannot be found) - if the DROP succeeded regardless
Diffstat (limited to 'sql/datadict.cc')
-rw-r--r--sql/datadict.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/datadict.cc b/sql/datadict.cc
index e3f679cc7ec..4aa024b3b44 100644
--- a/sql/datadict.cc
+++ b/sql/datadict.cc
@@ -60,6 +60,11 @@ frm_type_enum dd_frm_type(THD *thd, char *path, enum legacy_db_type *dbt)
(header[2] < FRM_VER+3 || header[2] > FRM_VER+4)))
DBUG_RETURN(FRMTYPE_TABLE);
+ /*
+ XXX this is a bug.
+ if header[3] is > DB_TYPE_FIRST_DYNAMIC, then the complete
+ storage engine name must be read from the frm
+ */
*dbt= (enum legacy_db_type) (uint) *(header + 3);
/* Probably a table. */