From 163882665eed8c065953bdce05aaa152b6b5df0f Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Tue, 9 Apr 2013 15:34:17 +0200 Subject: * 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 --- sql/datadict.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'sql/datadict.cc') 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. */ -- cgit v1.2.1