List:Commits« Previous MessageNext Message »
From:Sergey Vojtovich Date:June 14 2007 1:14pm
Subject:bk commit into 5.0 tree (svoj:1.2520) BUG#26976
View as plain text  
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;
Thread
bk commit into 5.0 tree (svoj:1.2520) BUG#26976Sergey Vojtovich14 Jun