From: Date: June 14 2007 1:14pm Subject: bk commit into 5.0 tree (svoj:1.2520) BUG#26976 List-Archive: http://lists.mysql.com/commits/28742 X-Bug: 26976 Message-Id: <20070614111451.1ED9041CEC6@june.myoffice.izhnet.ru> Below is the list of changes that have just been committed into a local 5.0 repository of svoj. When svoj does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet@stripped, 2007-06-14 16:14:47+05:00, svoj@stripped +2 -0 BUG#26976 - Missing table in merge not noted in related error msg + SHOW CREATE TABLE fails Addition to the fix: report db name + table name instead of table path. This solves embedded merge test failure. mysql-test/r/merge.result@stripped, 2007-06-14 16:14:46+05:00, svoj@stripped +4 -4 BUG#26976 - Missing table in merge not noted in related error msg + SHOW CREATE TABLE fails Addition to the fix: report db name + table name instead of table path. sql/ha_myisammrg.cc@stripped, 2007-06-14 16:14:46+05:00, svoj@stripped +11 -1 BUG#26976 - Missing table in merge not noted in related error msg + SHOW CREATE TABLE fails Addition to the fix: report db name + table name instead of table path. # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: svoj # Host: june.mysql.com # Root: /home/svoj/devel/mysql/BUG26976/mysql-5.0-engines --- 1.90/sql/ha_myisammrg.cc 2007-06-06 04:42:39 +05:00 +++ 1.91/sql/ha_myisammrg.cc 2007-06-14 16:14:46 +05:00 @@ -72,11 +72,21 @@ extern int check_definition(MI_KEYDEF *t uint t1_keys, uint t1_recs, MI_KEYDEF *t2_keyinfo, MI_COLUMNDEF *t2_recinfo, uint t2_keys, uint t2_recs, bool strict); +static void split_file_name(const char *file_name, + LEX_STRING *db, LEX_STRING *name); + + extern "C" void myrg_print_wrong_table(const char *table_name) { + LEX_STRING db, name; + char buf[FN_REFLEN]; + split_file_name(table_name, &db, &name); + memcpy(buf, db.str, db.length); + buf[db.length]= '.'; + memcpy(buf + db.length + 1, name.str, name.length); push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_ERROR, ER_ADMIN_WRONG_MRG_TABLE, ER(ER_ADMIN_WRONG_MRG_TABLE), - table_name); + buf); } --- 1.61/mysql-test/r/merge.result 2007-06-06 04:42:39 +05:00 +++ 1.62/mysql-test/r/merge.result 2007-06-14 16:14:46 +05:00 @@ -849,8 +849,8 @@ SELECT * FROM tm1; ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist CHECK TABLE tm1; Table Op Msg_type Msg_text -test.tm1 check Error Table './test/t1' is differently defined or of non-MyISAM type or doesn't exist -test.tm1 check Error Table './test/t2' is differently defined or of non-MyISAM type or doesn't exist +test.tm1 check Error Table 'test.t1' is differently defined or of non-MyISAM type or doesn't exist +test.tm1 check Error Table 'test.t2' is differently defined or of non-MyISAM type or doesn't exist test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist test.tm1 check error Corrupt CREATE TABLE t1(a INT); @@ -858,7 +858,7 @@ SELECT * FROM tm1; ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist CHECK TABLE tm1; Table Op Msg_type Msg_text -test.tm1 check Error Table './test/t2' is differently defined or of non-MyISAM type or doesn't exist +test.tm1 check Error Table 'test.t2' is differently defined or of non-MyISAM type or doesn't exist test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist test.tm1 check error Corrupt CREATE TABLE t2(a BLOB); @@ -866,7 +866,7 @@ SELECT * FROM tm1; ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist CHECK TABLE tm1; Table Op Msg_type Msg_text -test.tm1 check Error Table './test/t2' is differently defined or of non-MyISAM type or doesn't exist +test.tm1 check Error Table 'test.t2' is differently defined or of non-MyISAM type or doesn't exist test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist test.tm1 check error Corrupt ALTER TABLE t2 MODIFY a INT;