List:Commits« Previous MessageNext Message »
From:Sergey Vojtovich Date:June 7 2007 7:07am
Subject:bk commit into 5.0 tree (svoj:1.2519)
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-07 12:07:41+05:00, svoj@stripped +4 -0
  Merge 81.176.158.240:devel/mysql/BUG26976/mysql-5.0-engines
  into  mysql.com:/home/svoj/devel/mysql/BUG26976/mysql-5.0-engines
  MERGE: 1.2493.20.1

  mysql-test/r/ps.result@stripped, 2007-06-07 12:07:38+05:00, svoj@stripped +0 -0
    Auto merged
    MERGE: 1.92.1.1

  mysql-test/r/sp.result@stripped, 2007-06-07 12:07:38+05:00, svoj@stripped +0 -0
    Auto merged
    MERGE: 1.227.3.1

  mysql-test/r/view.result@stripped, 2007-06-07 12:07:38+05:00, svoj@stripped +0 -0
    Auto merged
    MERGE: 1.200.3.1

  sql/sql_table.cc@stripped, 2007-06-07 12:07:38+05:00, svoj@stripped +0 -0
    Auto merged
    MERGE: 1.343.3.1

# 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/RESYNC

--- 1.348/sql/sql_table.cc	2007-06-06 02:04:34 +05:00
+++ 1.349/sql/sql_table.cc	2007-06-07 12:07:38 +05:00
@@ -2284,33 +2284,16 @@ static bool mysql_admin_table(THD* thd, 
     */
     if (!table->table)
     {
-      char buf[ERRMSGSIZE+ERRMSGSIZE+2];
-      const char *err_msg;
-      protocol->prepare_for_resend();
-      protocol->store(table_name, system_charset_info);
-      protocol->store(operator_name, system_charset_info);
-      protocol->store(STRING_WITH_LEN("error"), system_charset_info);
-      if (!(err_msg=thd->net.last_error))
-	err_msg=ER(ER_CHECK_NO_SUCH_TABLE);
+      if (!thd->warn_list.elements)
+        push_warning(thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
+                     ER_CHECK_NO_SUCH_TABLE, ER(ER_CHECK_NO_SUCH_TABLE));
       /* if it was a view will check md5 sum */
       if (table->view &&
           view_checksum(thd, table) == HA_ADMIN_WRONG_CHECKSUM)
-      {
-        strxmov(buf, err_msg, "; ", ER(ER_VIEW_CHECKSUM), NullS);
-        err_msg= (const char *)buf;
-      }
-      protocol->store(err_msg, system_charset_info);
-      lex->cleanup_after_one_table_open();
-      thd->clear_error();
-      /*
-        View opening can be interrupted in the middle of process so some
-        tables can be left opening
-      */
-      close_thread_tables(thd);
-      lex->reset_query_tables_list(FALSE);
-      if (protocol->write())
-	goto err;
-      continue;
+        push_warning(thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
+                     ER_VIEW_CHECKSUM, ER(ER_VIEW_CHECKSUM));
+      result_code= HA_ADMIN_CORRUPT;
+      goto send_result;
     }
 
     if (table->view)
@@ -2392,6 +2375,22 @@ send_result:
 
     lex->cleanup_after_one_table_open();
     thd->clear_error();  // these errors shouldn't get client
+    {
+      List_iterator_fast<MYSQL_ERROR> it(thd->warn_list);
+      MYSQL_ERROR *err;
+      while ((err= it++))
+      {
+        protocol->prepare_for_resend();
+        protocol->store(table_name, system_charset_info);
+        protocol->store((char*) operator_name, system_charset_info);
+        protocol->store(warning_level_names[err->level],
+                        warning_level_length[err->level], system_charset_info);
+        protocol->store(err->msg, system_charset_info);
+        if (protocol->write())
+          goto err;
+      }
+      mysql_reset_errors(thd, true);
+    }
     protocol->prepare_for_resend();
     protocol->store(table_name, system_charset_info);
     protocol->store(operator_name, system_charset_info);
@@ -2918,7 +2917,7 @@ bool mysql_check_table(THD* thd, TABLE_L
   DBUG_ENTER("mysql_check_table");
   DBUG_RETURN(mysql_admin_table(thd, tables, check_opt,
 				"check", lock_type,
-				0, HA_OPEN_FOR_REPAIR, 0, 0,
+				0, 0, HA_OPEN_FOR_REPAIR, 0,
 				&handler::ha_check, &view_checksum));
 }
 

--- 1.205/mysql-test/r/view.result	2007-06-01 02:40:46 +05:00
+++ 1.206/mysql-test/r/view.result	2007-06-07 12:07:38 +05:00
@@ -1377,7 +1377,9 @@ test.t1	check	status	OK
 drop table t1;
 check table v1;
 Table	Op	Msg_type	Msg_text
-test.v1	check	error	View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v1	check	Error	Table 'test.t1' doesn't exist
+test.v1	check	Error	View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v1	check	error	Corrupt
 drop view v1;
 create table t1 (a int);
 create table t2 (a int);
@@ -1901,11 +1903,17 @@ CREATE VIEW v6 AS SELECT CONVERT_TZ(col1
 DROP TABLE t1;
 CHECK TABLE v1, v2, v3, v4, v5, v6;
 Table	Op	Msg_type	Msg_text
-test.v1	check	error	View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v1	check	Error	Table 'test.t1' doesn't exist
+test.v1	check	Error	View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v1	check	error	Corrupt
 test.v2	check	status	OK
-test.v3	check	error	View 'test.v3' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v3	check	Error	Table 'test.t1' doesn't exist
+test.v3	check	Error	View 'test.v3' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v3	check	error	Corrupt
 test.v4	check	status	OK
-test.v5	check	error	View 'test.v5' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v5	check	Error	Table 'test.t1' doesn't exist
+test.v5	check	Error	View 'test.v5' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v5	check	error	Corrupt
 test.v6	check	status	OK
 drop view v1, v2, v3, v4, v5, v6;
 drop table t2;
@@ -1925,11 +1933,17 @@ CREATE VIEW v6 AS SELECT f2() FROM t3;
 drop function f1;
 CHECK TABLE v1, v2, v3, v4, v5, v6;
 Table	Op	Msg_type	Msg_text
-test.v1	check	error	View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v1	check	Error	FUNCTION test.f1 does not exist
+test.v1	check	Error	View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v1	check	error	Corrupt
 test.v2	check	status	OK
-test.v3	check	error	View 'test.v3' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v3	check	Error	FUNCTION test.f1 does not exist
+test.v3	check	Error	View 'test.v3' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v3	check	error	Corrupt
 test.v4	check	status	OK
-test.v5	check	error	View 'test.v5' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v5	check	Error	FUNCTION test.f1 does not exist
+test.v5	check	Error	View 'test.v5' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
+test.v5	check	error	Corrupt
 test.v6	check	status	OK
 create function f1 () returns int return (select max(col1) from t1);
 DROP TABLE t1;
@@ -2376,35 +2390,29 @@ CREATE TABLE t1(id INT);
 CREATE VIEW v1 AS SELECT id FROM t1;
 OPTIMIZE TABLE v1;
 Table	Op	Msg_type	Msg_text
-test.v1	optimize	error	'test.v1' is not BASE TABLE
-Warnings:
-Error	1347	'test.v1' is not BASE TABLE
+test.v1	optimize	Error	'test.v1' is not BASE TABLE
+test.v1	optimize	error	Corrupt
 ANALYZE TABLE v1;
 Table	Op	Msg_type	Msg_text
-test.v1	analyze	error	'test.v1' is not BASE TABLE
-Warnings:
-Error	1347	'test.v1' is not BASE TABLE
+test.v1	analyze	Error	'test.v1' is not BASE TABLE
+test.v1	analyze	error	Corrupt
 REPAIR TABLE v1;
 Table	Op	Msg_type	Msg_text
-test.v1	repair	error	'test.v1' is not BASE TABLE
-Warnings:
-Error	1347	'test.v1' is not BASE TABLE
+test.v1	repair	Error	'test.v1' is not BASE TABLE
+test.v1	repair	error	Corrupt
 DROP TABLE t1;
 OPTIMIZE TABLE v1;
 Table	Op	Msg_type	Msg_text
-test.v1	optimize	error	'test.v1' is not BASE TABLE
-Warnings:
-Error	1347	'test.v1' is not BASE TABLE
+test.v1	optimize	Error	'test.v1' is not BASE TABLE
+test.v1	optimize	error	Corrupt
 ANALYZE TABLE v1;
 Table	Op	Msg_type	Msg_text
-test.v1	analyze	error	'test.v1' is not BASE TABLE
-Warnings:
-Error	1347	'test.v1' is not BASE TABLE
+test.v1	analyze	Error	'test.v1' is not BASE TABLE
+test.v1	analyze	error	Corrupt
 REPAIR TABLE v1;
 Table	Op	Msg_type	Msg_text
-test.v1	repair	error	'test.v1' is not BASE TABLE
-Warnings:
-Error	1347	'test.v1' is not BASE TABLE
+test.v1	repair	Error	'test.v1' is not BASE TABLE
+test.v1	repair	error	Corrupt
 DROP VIEW v1;
 create definer = current_user() sql security invoker view v1 as select 1;
 show create view v1;

--- 1.230/mysql-test/r/sp.result	2007-06-02 03:42:02 +05:00
+++ 1.231/mysql-test/r/sp.result	2007-06-07 12:07:38 +05:00
@@ -4409,55 +4409,58 @@ Table	Op	Msg_type	Msg_text
 test.t1	repair	status	OK
 test.t2	repair	status	OK
 test.t3	repair	status	OK
-test.v1	repair	error	'test.v1' is not BASE TABLE
+test.v1	repair	Error	'test.v1' is not BASE TABLE
+test.v1	repair	error	Corrupt
 Table	Op	Msg_type	Msg_text
 test.t1	optimize	status	OK
 test.t2	optimize	status	OK
 test.t3	optimize	status	OK
-test.v1	optimize	error	'test.v1' is not BASE TABLE
+test.v1	optimize	Error	'test.v1' is not BASE TABLE
+test.v1	optimize	error	Corrupt
 Table	Op	Msg_type	Msg_text
 test.t1	analyze	status	Table is already up to date
 test.t2	analyze	status	Table is already up to date
 test.t3	analyze	status	Table is already up to date
-test.v1	analyze	error	'test.v1' is not BASE TABLE
-Warnings:
-Error	1347	'test.v1' is not BASE TABLE
+test.v1	analyze	Error	'test.v1' is not BASE TABLE
+test.v1	analyze	error	Corrupt
 call bug13012()|
 Table	Op	Msg_type	Msg_text
 test.t1	repair	status	OK
 test.t2	repair	status	OK
 test.t3	repair	status	OK
-test.v1	repair	error	'test.v1' is not BASE TABLE
+test.v1	repair	Error	'test.v1' is not BASE TABLE
+test.v1	repair	error	Corrupt
 Table	Op	Msg_type	Msg_text
 test.t1	optimize	status	OK
 test.t2	optimize	status	OK
 test.t3	optimize	status	OK
-test.v1	optimize	error	'test.v1' is not BASE TABLE
+test.v1	optimize	Error	'test.v1' is not BASE TABLE
+test.v1	optimize	error	Corrupt
 Table	Op	Msg_type	Msg_text
 test.t1	analyze	status	Table is already up to date
 test.t2	analyze	status	Table is already up to date
 test.t3	analyze	status	Table is already up to date
-test.v1	analyze	error	'test.v1' is not BASE TABLE
-Warnings:
-Error	1347	'test.v1' is not BASE TABLE
+test.v1	analyze	Error	'test.v1' is not BASE TABLE
+test.v1	analyze	error	Corrupt
 call bug13012()|
 Table	Op	Msg_type	Msg_text
 test.t1	repair	status	OK
 test.t2	repair	status	OK
 test.t3	repair	status	OK
-test.v1	repair	error	'test.v1' is not BASE TABLE
+test.v1	repair	Error	'test.v1' is not BASE TABLE
+test.v1	repair	error	Corrupt
 Table	Op	Msg_type	Msg_text
 test.t1	optimize	status	OK
 test.t2	optimize	status	OK
 test.t3	optimize	status	OK
-test.v1	optimize	error	'test.v1' is not BASE TABLE
+test.v1	optimize	Error	'test.v1' is not BASE TABLE
+test.v1	optimize	error	Corrupt
 Table	Op	Msg_type	Msg_text
 test.t1	analyze	status	Table is already up to date
 test.t2	analyze	status	Table is already up to date
 test.t3	analyze	status	Table is already up to date
-test.v1	analyze	error	'test.v1' is not BASE TABLE
-Warnings:
-Error	1347	'test.v1' is not BASE TABLE
+test.v1	analyze	Error	'test.v1' is not BASE TABLE
+test.v1	analyze	error	Corrupt
 drop procedure bug13012|
 drop view v1;
 select * from t1|

--- 1.93/mysql-test/r/ps.result	2007-05-23 13:48:28 +05:00
+++ 1.94/mysql-test/r/ps.result	2007-06-07 12:07:38 +05:00
@@ -1378,45 +1378,39 @@ prepare stmt from "repair table t1, t4, 
 execute stmt;
 Table	Op	Msg_type	Msg_text
 test.t1	repair	status	OK
-test.t4	repair	error	Table 'test.t4' doesn't exist
+test.t4	repair	Error	Table 'test.t4' doesn't exist
+test.t4	repair	error	Corrupt
 test.t3	repair	status	OK
-Warnings:
-Error	1146	Table 'test.t4' doesn't exist
 execute stmt;
 Table	Op	Msg_type	Msg_text
 test.t1	repair	status	OK
-test.t4	repair	error	Table 'test.t4' doesn't exist
+test.t4	repair	Error	Table 'test.t4' doesn't exist
+test.t4	repair	error	Corrupt
 test.t3	repair	status	OK
-Warnings:
-Error	1146	Table 'test.t4' doesn't exist
 prepare stmt from "optimize table t1, t3, t4";
 execute stmt;
 Table	Op	Msg_type	Msg_text
 test.t1	optimize	status	OK
 test.t3	optimize	status	OK
-test.t4	optimize	error	Table 'test.t4' doesn't exist
-Warnings:
-Error	1146	Table 'test.t4' doesn't exist
+test.t4	optimize	Error	Table 'test.t4' doesn't exist
+test.t4	optimize	error	Corrupt
 execute stmt;
 Table	Op	Msg_type	Msg_text
 test.t1	optimize	status	Table is already up to date
 test.t3	optimize	status	Table is already up to date
-test.t4	optimize	error	Table 'test.t4' doesn't exist
-Warnings:
-Error	1146	Table 'test.t4' doesn't exist
+test.t4	optimize	Error	Table 'test.t4' doesn't exist
+test.t4	optimize	error	Corrupt
 prepare stmt from "analyze table t4, t1";
 execute stmt;
 Table	Op	Msg_type	Msg_text
-test.t4	analyze	error	Table 'test.t4' doesn't exist
+test.t4	analyze	Error	Table 'test.t4' doesn't exist
+test.t4	analyze	error	Corrupt
 test.t1	analyze	status	Table is already up to date
-Warnings:
-Error	1146	Table 'test.t4' doesn't exist
 execute stmt;
 Table	Op	Msg_type	Msg_text
-test.t4	analyze	error	Table 'test.t4' doesn't exist
+test.t4	analyze	Error	Table 'test.t4' doesn't exist
+test.t4	analyze	error	Corrupt
 test.t1	analyze	status	Table is already up to date
-Warnings:
-Error	1146	Table 'test.t4' doesn't exist
 deallocate prepare stmt;
 drop table t1, t2, t3;
 create database mysqltest_long_database_name_to_thrash_heap;
Thread
bk commit into 5.0 tree (svoj:1.2519)Sergey Vojtovich7 Jun