List:Commits« Previous MessageNext Message »
From:tim Date:August 2 2007 8:22am
Subject:bk commit into 5.1 tree (tsmith:1.2579)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of tsmith. When tsmith 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-08-02 02:22:31-06:00, tsmith@stripped +5 -0
  Post-merge fix.  Update some test results, and add an InnoDB-only
  compatibility hook, thd_mark_transaction_to_rollback().

  mysql-test/r/ps.result@stripped, 2007-08-02 02:22:29-06:00, tsmith@stripped +7 -14
    Post-merge fix.   Changes for WL 3984 (Revise locking
    of mysql.general_log and mysql.slow_log) cause some test
    result differences.

  mysql-test/r/show_check.result@stripped, 2007-08-02 02:22:29-06:00, tsmith@stripped +2 -5
    Post-merge fix.   Changes for WL 3984 (Revise locking
    of mysql.general_log and mysql.slow_log) cause some test
    result differences.

  sql/sql_class.cc@stripped, 2007-08-02 02:22:29-06:00, tsmith@stripped +5 -0
    Post-merge fix, add InnoDB compatibility hook (defined for
    InnoDB only), thd_mark_transaction_to_rollback().

  storage/innobase/handler/ha_innodb.cc@stripped, 2007-08-02 02:22:29-06:00, tsmith@stripped +3 -3
    Post-merge fix, add InnoDB compatibility hook (defined for
    InnoDB only), thd_mark_transaction_to_rollback().

  storage/innobase/handler/ha_innodb.h@stripped, 2007-08-02 02:22:29-06:00, tsmith@stripped +7 -0
    Post-merge fix, add InnoDB compatibility hook (defined for
    InnoDB only), thd_mark_transaction_to_rollback().

diff -Nrup a/mysql-test/r/ps.result b/mysql-test/r/ps.result
--- a/mysql-test/r/ps.result	2007-07-26 21:45:32 -06:00
+++ b/mysql-test/r/ps.result	2007-08-02 02:22:29 -06:00
@@ -1857,10 +1857,9 @@ select Host, Db from mysql.host limit 0;
 Host	Db
 show open tables from mysql;
 Database	Table	In_use	Name_locked
+mysql	user	0	0
 mysql	general_log	0	0
-mysql	slow_log	0	0
 mysql	host	0	0
-mysql	user	0	0
 call proc_1();
 show open tables from mysql;
 Database	Table	In_use	Name_locked
@@ -1871,10 +1870,9 @@ select Host, Db from mysql.host limit 0;
 Host	Db
 show open tables from mysql;
 Database	Table	In_use	Name_locked
+mysql	user	0	0
 mysql	general_log	0	0
-mysql	slow_log	0	0
 mysql	host	0	0
-mysql	user	0	0
 call proc_1();
 show open tables from mysql;
 Database	Table	In_use	Name_locked
@@ -1885,10 +1883,9 @@ select Host, Db from mysql.host limit 0;
 Host	Db
 show open tables from mysql;
 Database	Table	In_use	Name_locked
+mysql	user	0	0
 mysql	general_log	0	0
-mysql	slow_log	0	0
 mysql	host	0	0
-mysql	user	0	0
 call proc_1();
 show open tables from mysql;
 Database	Table	In_use	Name_locked
@@ -1899,10 +1896,9 @@ select Host, Db from mysql.host limit 0;
 Host	Db
 show open tables from mysql;
 Database	Table	In_use	Name_locked
+mysql	user	0	0
 mysql	general_log	0	0
-mysql	slow_log	0	0
 mysql	host	0	0
-mysql	user	0	0
 flush tables;
 create function func_1() returns int begin flush tables; return 1; end|
 ERROR 0A000: FLUSH is not allowed in stored function or trigger
@@ -1932,10 +1928,9 @@ select Host, Db from mysql.host limit 0;
 Host	Db
 show open tables from mysql;
 Database	Table	In_use	Name_locked
+mysql	user	0	0
 mysql	general_log	0	0
-mysql	slow_log	0	0
 mysql	host	0	0
-mysql	user	0	0
 execute abc;
 show open tables from mysql;
 Database	Table	In_use	Name_locked
@@ -1946,10 +1941,9 @@ select Host, Db from mysql.host limit 0;
 Host	Db
 show open tables from mysql;
 Database	Table	In_use	Name_locked
+mysql	user	0	0
 mysql	general_log	0	0
-mysql	slow_log	0	0
 mysql	host	0	0
-mysql	user	0	0
 execute abc;
 show open tables from mysql;
 Database	Table	In_use	Name_locked
@@ -1960,10 +1954,9 @@ select Host, Db from mysql.host limit 0;
 Host	Db
 show open tables from mysql;
 Database	Table	In_use	Name_locked
+mysql	user	0	0
 mysql	general_log	0	0
-mysql	slow_log	0	0
 mysql	host	0	0
-mysql	user	0	0
 flush tables;
 deallocate prepare abc;
 create procedure proc_1() flush logs;
diff -Nrup a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result
--- a/mysql-test/r/show_check.result	2007-08-01 18:39:57 -06:00
+++ b/mysql-test/r/show_check.result	2007-08-02 02:22:29 -06:00
@@ -256,9 +256,8 @@ create table t1(n int);
 insert into t1 values (1);
 show open tables;
 Database	Table	In_use	Name_locked
-mysql	general_log	0	0
-mysql	slow_log	0	0
 test	t1	0	0
+mysql	general_log	0	0
 drop table t1;
 create table t1 (a int not null, b VARCHAR(10), INDEX (b) ) AVG_ROW_LENGTH=10 CHECKSUM=1 COMMENT="test" ENGINE=MYISAM MIN_ROWS=10 MAX_ROWS=100 PACK_KEYS=1 DELAY_KEY_WRITE=1 ROW_FORMAT=fixed;
 show create table t1;
@@ -685,9 +684,8 @@ Database	Table	In_use	Name_locked
 mysql	db	0	0
 mysql	time_zone	0	0
 mysql	general_log	0	0
-mysql	slow_log	0	0
-mysql	user	0	0
 mysql	proc	0	0
+mysql	user	0	0
 mysql	time_zone_name	0	0
 SHOW OPEN TABLES FROM mysql LIKE 'u%';
 Database	Table	In_use	Name_locked
@@ -702,7 +700,6 @@ SHOW OPEN TABLES LIKE '%o%';
 Database	Table	In_use	Name_locked
 mysql	time_zone	0	0
 mysql	general_log	0	0
-mysql	slow_log	0	0
 mysql	proc	0	0
 mysql	time_zone_name	0	0
 FLUSH TABLES;
diff -Nrup a/sql/sql_class.cc b/sql/sql_class.cc
--- a/sql/sql_class.cc	2007-08-01 18:59:39 -06:00
+++ b/sql/sql_class.cc	2007-08-02 02:22:29 -06:00
@@ -2583,6 +2583,11 @@ extern "C" int thd_binlog_format(const M
 {
   return (int) thd->variables.binlog_format;
 }
+
+extern "C" void thd_mark_transaction_to_rollback(MYSQL_THD thd, bool all)
+{
+  mark_transaction_to_rollback(thd, all);
+}
 #endif // INNODB_COMPATIBILITY_HOOKS */
 
 /****************************************************************************
diff -Nrup a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
--- a/storage/innobase/handler/ha_innodb.cc	2007-08-01 18:59:39 -06:00
+++ b/storage/innobase/handler/ha_innodb.cc	2007-08-02 02:22:29 -06:00
@@ -601,7 +601,7 @@ convert_error_code_to_mysql(
 		tell it also to MySQL so that MySQL knows to empty the
 		cached binlog for this transaction */
 
-                mark_transaction_to_rollback(thd, TRUE);
+                thd_mark_transaction_to_rollback(thd, TRUE);
 
 		return(HA_ERR_LOCK_DEADLOCK);
 
@@ -611,7 +611,7 @@ convert_error_code_to_mysql(
 		latest SQL statement in a lock wait timeout. Previously, we
 		rolled back the whole transaction. */
 
-                mark_transaction_to_rollback(thd,
+                thd_mark_transaction_to_rollback(thd,
                                              (bool)row_rollback_on_timeout);
 
 		return(HA_ERR_LOCK_WAIT_TIMEOUT);
@@ -664,7 +664,7 @@ convert_error_code_to_mysql(
  		tell it also to MySQL so that MySQL knows to empty the
  		cached binlog for this transaction */
 
-                mark_transaction_to_rollback(thd, TRUE);
+                thd_mark_transaction_to_rollback(thd, TRUE);
 
     		return(HA_ERR_LOCK_TABLE_FULL);
 	} else if (error == DB_TOO_MANY_CONCURRENT_TRXS) {
diff -Nrup a/storage/innobase/handler/ha_innodb.h b/storage/innobase/handler/ha_innodb.h
--- a/storage/innobase/handler/ha_innodb.h	2007-07-10 05:37:38 -06:00
+++ b/storage/innobase/handler/ha_innodb.h	2007-08-02 02:22:29 -06:00
@@ -234,6 +234,13 @@ int thd_non_transactional_update(const M
   @return Value to be used as index into the binlog_format_names array
 */
 int thd_binlog_format(const MYSQL_THD thd);
+
+/**
+  Mark transaction to rollback and mark error as fatal to a sub-statement.
+  @param  thd   Thread handle
+  @param  all   TRUE <=> rollback main transaction.
+*/
+void thd_mark_transaction_to_rollback(MYSQL_THD thd, bool all);
 }
 
 /*
Thread
bk commit into 5.1 tree (tsmith:1.2579)tim2 Aug