List:Commits« Previous MessageNext Message »
From:guilhem Date:February 18 2006 7:07pm
Subject:bk commit into 5.1 tree (guilhem:1.2138)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of guilhem. When guilhem 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
  1.2138 06/02/18 19:07:32 guilhem@stripped +11 -0
  Merge mysql.com:/home/mysql_src/mysql-5.0
  into  mysql.com:/home/mysql_src/mysql-5.1-new; will fix manually sp_head.cc and mysqld.cc later soon.

  sql/sp_head.cc
    1.203 06/02/18 19:07:28 guilhem@stripped +8 -3
    will fix manually

  sql/mysqld.cc
    1.536 06/02/18 19:07:28 guilhem@stripped +0 -2
    will fix manually

  sql/log.cc
    1.192 06/02/18 19:07:28 guilhem@stripped +0 -0
    auto merged

  sql/set_var.cc
    1.175 06/02/18 17:38:04 guilhem@stripped +0 -0
    Auto merged

  mysql-test/t/sql_mode.test
    1.18 06/02/18 17:38:04 guilhem@stripped +0 -0
    Auto merged

  mysql-test/t/rpl_sp.test
    1.17 06/02/18 17:38:04 guilhem@stripped +0 -1
    Auto merged

  mysql-test/t/rpl_sp-slave.opt
    1.5 06/02/18 17:38:04 guilhem@stripped +0 -0
    Auto merged

  mysql-test/r/sql_mode.result
    1.35 06/02/18 17:38:04 guilhem@stripped +0 -0
    Auto merged

  mysql-test/r/rpl_sp.result
    1.19 06/02/18 17:38:04 guilhem@stripped +0 -0
    Auto merged

  mysql-test/r/binlog_stm_mix_innodb_myisam.result
    1.27 06/02/18 17:38:04 guilhem@stripped +0 -0
    Auto merged

  mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
    1.23 06/02/18 17:38:04 guilhem@stripped +0 -0
    Auto merged

  mysql-test/r/binlog_stm_mix_innodb_myisam.result
    1.24.1.2 06/02/18 17:38:03 guilhem@stripped +0 -0
    Merge rename: mysql-test/r/mix_innodb_myisam_binlog.result -> mysql-test/r/binlog_stm_mix_innodb_myisam.result

  mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test
    1.20.1.2 06/02/18 17:38:03 guilhem@stripped +0 -0
    Merge rename: mysql-test/t/mix_innodb_myisam_binlog.test -> mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test

# 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:	guilhem
# Host:	gbichot3.local
# Root:	/home/mysql_src/mysql-5.1-new/RESYNC

--- 1.191/sql/log.cc	2006-02-12 20:33:11 +01:00
+++ 1.192/sql/log.cc	2006-02-18 19:07:28 +01:00
@@ -1099,6 +1099,7 @@
     DBUG_RETURN(0);
   }
   Query_log_event qev(thd, STRING_WITH_LEN("COMMIT"), TRUE, FALSE);
+  qev.error_code= 0; // see comment in MYSQL_LOG::write(THD, IO_CACHE)
   DBUG_RETURN(binlog_end_trans(thd, trx_data, &qev));
 }
 
@@ -1125,6 +1126,7 @@
   if (unlikely(thd->options & OPTION_STATUS_NO_TRANS_UPDATE))
   {
     Query_log_event qev(thd, STRING_WITH_LEN("ROLLBACK"), TRUE, FALSE);
+    qev.error_code= 0; // see comment in MYSQL_LOG::write(THD, IO_CACHE)
     error= binlog_end_trans(thd, trx_data, &qev);
   }
   else
@@ -3019,7 +3021,9 @@
         Imagine this is rollback due to net timeout, after all statements of
         the transaction succeeded. Then we want a zero-error code in BEGIN.
         In other words, if there was a really serious error code it's already
-        in the statement's events.
+        in the statement's events, there is no need to put it also in this
+        internally generated event, and as this event is generated late it
+        would lead to false alarms.
         This is safer than thd->clear_error() against kills at shutdown.
       */
       qinfo.error_code= 0;

--- 1.18/mysql-test/r/rpl_sp.result	2006-02-02 21:20:16 +01:00
+++ 1.19/mysql-test/r/rpl_sp.result	2006-02-18 17:38:04 +01:00
@@ -233,20 +233,25 @@
 delete from t2;
 alter table t2 add unique (a);
 drop function fn1;
-create function fn1()
+create function fn1(x int)
 returns int
 begin
-insert into t2 values(20),(20);
+insert into t2 values(x),(x);
 return 10;
 end|
-select fn1();
+do fn1(100);
+Warnings:
+Error	1062	Duplicate entry '100' for key 1
+select fn1(20);
 ERROR 23000: Duplicate entry '20' for key 1
 select * from t2;
 a
 20
+100
 select * from t2;
 a
 20
+100
 create trigger trg before insert on t1 for each row set new.a= 10;
 ERROR 42000: Access denied; you need the SUPER privilege for this operation
 delete from t1;
@@ -324,7 +329,7 @@
 return x+2;
 end
 master-bin.000001	#	Query	1	#	use `mysqltest1`; delete t1,t2 from t1,t2
-master-bin.000001	#	Query	1	#	use `mysqltest1`; DO `fn1`(20)
+master-bin.000001	#	Query	1	#	use `mysqltest1`; SELECT `fn1`(20)
 master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t2 values(fn1(21))
 master-bin.000001	#	Query	1	#	use `mysqltest1`; drop function fn1
 master-bin.000001	#	Query	1	#	use `mysqltest1`; create function fn1()
@@ -351,13 +356,14 @@
 master-bin.000001	#	Query	1	#	use `mysqltest1`; delete from t2
 master-bin.000001	#	Query	1	#	use `mysqltest1`; alter table t2 add unique (a)
 master-bin.000001	#	Query	1	#	use `mysqltest1`; drop function fn1
-master-bin.000001	#	Query	1	#	use `mysqltest1`; create function fn1()
+master-bin.000001	#	Query	1	#	use `mysqltest1`; create function fn1(x int)
 returns int
 begin
-insert into t2 values(20),(20);
+insert into t2 values(x),(x);
 return 10;
 end
-master-bin.000001	#	Query	1	#	use `mysqltest1`; DO `fn1`()
+master-bin.000001	#	Query	1	#	use `mysqltest1`; SELECT `fn1`(100)
+master-bin.000001	#	Query	1	#	use `mysqltest1`; SELECT `fn1`(20)
 master-bin.000001	#	Query	1	#	use `mysqltest1`; delete from t1
 master-bin.000001	#	Query	1	#	use `mysqltest1`; CREATE DEFINER=`root`@`localhost` trigger trg before insert on t1 for each row set new.a= 10
 master-bin.000001	#	Query	1	#	use `mysqltest1`; insert into t1 values (1)
@@ -415,4 +421,3 @@
 test
 DROP PROCEDURE p1;
 drop table t1;
-reset master;

--- 1.4/mysql-test/t/rpl_sp-slave.opt	2006-01-12 16:44:16 +01:00
+++ 1.5/mysql-test/t/rpl_sp-slave.opt	2006-02-18 17:38:04 +01:00
@@ -1 +1 @@
---log_bin_trust_routine_creators=0 --slave-skip-errors=1062
+--log_bin_trust_routine_creators=0

--- 1.16/mysql-test/t/rpl_sp.test	2006-02-13 19:02:45 +01:00
+++ 1.17/mysql-test/t/rpl_sp.test	2006-02-18 17:38:04 +01:00
@@ -296,21 +296,19 @@
 drop function fn1;
 
 delimiter |;
-create function fn1()
+create function fn1(x int)
        returns int
 begin
-  insert into t2 values(20),(20);
+  insert into t2 values(x),(x);
   return 10;
 end|
 
 delimiter ;|
 
-# Because of BUG#14769 the following statement requires that we start
-# slave with --slave-skip-errors=1062. When that bug is fixed, that
-# option can be removed.
+do fn1(100);
 
 --error 1062
-select fn1();
+select fn1(20);
 
 select * from t2;
 sync_slave_with_master;

--- 1.24.1.1/mysql-test/r/mix_innodb_myisam_binlog.result	2006-02-18 17:19:10 +01:00
+++ 1.27/mysql-test/r/binlog_stm_mix_innodb_myisam.result	2006-02-18 17:38:04 +01:00
@@ -6,12 +6,12 @@
 insert into t1 values(1);
 insert into t2 select * from t1;
 commit;
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	98	Query	1	#	use `test`; BEGIN
-master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(1)
-master-bin.000001	253	Query	1	#	use `test`; insert into t2 select * from t1
-master-bin.000001	347	Xid	1	#	COMMIT /* xid=8 */
+master-bin.000001	102	Query	1	#	use `test`; BEGIN
+master-bin.000001	170	Query	1	#	use `test`; insert into t1 values(1)
+master-bin.000001	257	Query	1	#	use `test`; insert into t2 select * from t1
+master-bin.000001	351	Xid	1	#	COMMIT /* xid= */
 delete from t1;
 delete from t2;
 reset master;
@@ -21,12 +21,12 @@
 rollback;
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	98	Query	1	#	use `test`; BEGIN
-master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(2)
-master-bin.000001	253	Query	1	#	use `test`; insert into t2 select * from t1
-master-bin.000001	347	Query	1	#	use `test`; ROLLBACK
+master-bin.000001	102	Query	1	#	use `test`; BEGIN
+master-bin.000001	170	Query	1	#	use `test`; insert into t1 values(2)
+master-bin.000001	257	Query	1	#	use `test`; insert into t2 select * from t1
+master-bin.000001	351	Query	1	#	use `test`; ROLLBACK
 delete from t1;
 delete from t2;
 reset master;
@@ -39,15 +39,15 @@
 Warnings:
 Warning	1196	Some non-transactional changed tables couldn't be rolled back
 commit;
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	98	Query	1	#	use `test`; BEGIN
-master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(3)
-master-bin.000001	253	Query	1	#	use `test`; savepoint my_savepoint
-master-bin.000001	338	Query	1	#	use `test`; insert into t1 values(4)
-master-bin.000001	425	Query	1	#	use `test`; insert into t2 select * from t1
-master-bin.000001	519	Query	1	#	use `test`; rollback to savepoint my_savepoint
-master-bin.000001	616	Xid	1	#	COMMIT /* xid=25 */
+master-bin.000001	102	Query	1	#	use `test`; BEGIN
+master-bin.000001	170	Query	1	#	use `test`; insert into t1 values(3)
+master-bin.000001	257	Query	1	#	use `test`; savepoint my_savepoint
+master-bin.000001	342	Query	1	#	use `test`; insert into t1 values(4)
+master-bin.000001	429	Query	1	#	use `test`; insert into t2 select * from t1
+master-bin.000001	523	Query	1	#	use `test`; rollback to savepoint my_savepoint
+master-bin.000001	620	Xid	1	#	COMMIT /* xid= */
 delete from t1;
 delete from t2;
 reset master;
@@ -65,16 +65,16 @@
 a
 5
 7
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	98	Query	1	#	use `test`; BEGIN
-master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(5)
-master-bin.000001	253	Query	1	#	use `test`; savepoint my_savepoint
-master-bin.000001	338	Query	1	#	use `test`; insert into t1 values(6)
-master-bin.000001	425	Query	1	#	use `test`; insert into t2 select * from t1
-master-bin.000001	519	Query	1	#	use `test`; rollback to savepoint my_savepoint
-master-bin.000001	616	Query	1	#	use `test`; insert into t1 values(7)
-master-bin.000001	703	Xid	1	#	COMMIT /* xid=37 */
+master-bin.000001	102	Query	1	#	use `test`; BEGIN
+master-bin.000001	170	Query	1	#	use `test`; insert into t1 values(5)
+master-bin.000001	257	Query	1	#	use `test`; savepoint my_savepoint
+master-bin.000001	342	Query	1	#	use `test`; insert into t1 values(6)
+master-bin.000001	429	Query	1	#	use `test`; insert into t2 select * from t1
+master-bin.000001	523	Query	1	#	use `test`; rollback to savepoint my_savepoint
+master-bin.000001	620	Query	1	#	use `test`; insert into t1 values(7)
+master-bin.000001	707	Xid	1	#	COMMIT /* xid= */
 delete from t1;
 delete from t2;
 reset master;
@@ -87,43 +87,43 @@
 select get_lock("a",10);
 get_lock("a",10)
 1
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	98	Query	1	#	use `test`; BEGIN
-master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(8)
-master-bin.000001	253	Query	1	#	use `test`; insert into t2 select * from t1
-master-bin.000001	347	Query	1	#	use `test`; ROLLBACK
+master-bin.000001	102	Query	1	#	use `test`; BEGIN
+master-bin.000001	170	Query	1	#	use `test`; insert into t1 values(8)
+master-bin.000001	257	Query	1	#	use `test`; insert into t2 select * from t1
+master-bin.000001	351	Query	1	#	use `test`; ROLLBACK
 delete from t1;
 delete from t2;
 reset master;
 insert into t1 values(9);
 insert into t2 select * from t1;
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	98	Query	1	#	use `test`; insert into t1 values(9)
-master-bin.000001	185	Xid	1	#	COMMIT /* xid=60 */
-master-bin.000001	212	Query	1	#	use `test`; insert into t2 select * from t1
+master-bin.000001	102	Query	1	#	use `test`; insert into t1 values(9)
+master-bin.000001	189	Xid	1	#	COMMIT /* xid= */
+master-bin.000001	216	Query	1	#	use `test`; insert into t2 select * from t1
 delete from t1;
 delete from t2;
 reset master;
 insert into t1 values(10);
 begin;
 insert into t2 select * from t1;
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	98	Query	1	#	use `test`; insert into t1 values(10)
-master-bin.000001	186	Xid	1	#	COMMIT /* xid=66 */
-master-bin.000001	213	Query	1	#	use `test`; insert into t2 select * from t1
+master-bin.000001	102	Query	1	#	use `test`; insert into t1 values(10)
+master-bin.000001	190	Xid	1	#	COMMIT /* xid= */
+master-bin.000001	217	Query	1	#	use `test`; insert into t2 select * from t1
 insert into t1 values(11);
 commit;
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	98	Query	1	#	use `test`; insert into t1 values(10)
-master-bin.000001	186	Xid	1	#	COMMIT /* xid=66 */
-master-bin.000001	213	Query	1	#	use `test`; insert into t2 select * from t1
-master-bin.000001	307	Query	1	#	use `test`; BEGIN
-master-bin.000001	375	Query	1	#	use `test`; insert into t1 values(11)
-master-bin.000001	463	Xid	1	#	COMMIT /* xid=68 */
+master-bin.000001	102	Query	1	#	use `test`; insert into t1 values(10)
+master-bin.000001	190	Xid	1	#	COMMIT /* xid= */
+master-bin.000001	217	Query	1	#	use `test`; insert into t2 select * from t1
+master-bin.000001	311	Query	1	#	use `test`; BEGIN
+master-bin.000001	379	Query	1	#	use `test`; insert into t1 values(11)
+master-bin.000001	467	Xid	1	#	COMMIT /* xid= */
 alter table t2 engine=INNODB;
 delete from t1;
 delete from t2;
@@ -132,12 +132,12 @@
 insert into t1 values(12);
 insert into t2 select * from t1;
 commit;
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	98	Query	1	#	use `test`; BEGIN
-master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(12)
-master-bin.000001	254	Query	1	#	use `test`; insert into t2 select * from t1
-master-bin.000001	348	Xid	1	#	COMMIT /* xid=78 */
+master-bin.000001	102	Query	1	#	use `test`; BEGIN
+master-bin.000001	170	Query	1	#	use `test`; insert into t1 values(12)
+master-bin.000001	258	Query	1	#	use `test`; insert into t2 select * from t1
+master-bin.000001	352	Xid	1	#	COMMIT /* xid= */
 delete from t1;
 delete from t2;
 reset master;
@@ -145,7 +145,7 @@
 insert into t1 values(13);
 insert into t2 select * from t1;
 rollback;
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
 delete from t1;
 delete from t2;
@@ -157,11 +157,11 @@
 insert into t2 select * from t1;
 rollback to savepoint my_savepoint;
 commit;
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	98	Query	1	#	use `test`; BEGIN
-master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(14)
-master-bin.000001	254	Xid	1	#	COMMIT /* xid=94 */
+master-bin.000001	102	Query	1	#	use `test`; BEGIN
+master-bin.000001	170	Query	1	#	use `test`; insert into t1 values(14)
+master-bin.000001	258	Xid	1	#	COMMIT /* xid= */
 delete from t1;
 delete from t2;
 reset master;
@@ -177,15 +177,15 @@
 a
 16
 18
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	98	Query	1	#	use `test`; BEGIN
-master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(16)
-master-bin.000001	254	Query	1	#	use `test`; insert into t1 values(18)
-master-bin.000001	342	Xid	1	#	COMMIT /* xid=105 */
+master-bin.000001	102	Query	1	#	use `test`; BEGIN
+master-bin.000001	170	Query	1	#	use `test`; insert into t1 values(16)
+master-bin.000001	258	Query	1	#	use `test`; insert into t1 values(18)
+master-bin.000001	346	Xid	1	#	COMMIT /* xid= */
 delete from t1;
 delete from t2;
-alter table t2 type=MyISAM;
+alter table t2 engine=MyISAM;
 insert into t1 values (1);
 begin;
 select * from t1 for update;
@@ -229,31 +229,31 @@
 select get_lock("lock1",60);
 get_lock("lock1",60)
 1
-show binlog events from 98;
+show binlog events from 102;
 Log_name	Pos	Event_type	Server_id	End_log_pos	Info
-master-bin.000001	98	Query	1	#	use `test`; BEGIN
-master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(16)
-master-bin.000001	254	Query	1	#	use `test`; insert into t1 values(18)
-master-bin.000001	342	Xid	1	#	COMMIT /* xid=105 */
-master-bin.000001	369	Query	1	#	use `test`; delete from t1
-master-bin.000001	446	Xid	1	#	COMMIT /* xid=114 */
-master-bin.000001	473	Query	1	#	use `test`; delete from t2
-master-bin.000001	550	Xid	1	#	COMMIT /* xid=115 */
-master-bin.000001	577	Query	1	#	use `test`; alter table t2 type=MyISAM
-master-bin.000001	666	Query	1	#	use `test`; insert into t1 values (1)
-master-bin.000001	754	Xid	1	#	COMMIT /* xid=117 */
-master-bin.000001	781	Query	1	#	use `test`; insert into t2 values (20)
-master-bin.000001	870	Query	1	#	use `test`; drop table t1,t2
-master-bin.000001	949	Query	1	#	use `test`; create temporary table ti (a int) engine=innodb
-master-bin.000001	1059	Query	1	#	use `test`; insert into ti values(1)
-master-bin.000001	1146	Xid	1	#	COMMIT /* xid=132 */
-master-bin.000001	1173	Query	1	#	use `test`; create temporary table t1 (a int) engine=myisam
-master-bin.000001	1283	Query	1	#	use `test`; insert t1 values (1)
-master-bin.000001	1366	Query	1	#	use `test`; create table t0 (n int)
-master-bin.000001	1452	Query	1	#	use `test`; insert t0 select * from t1
-master-bin.000001	1541	Query	1	#	use `test`; insert into t0 select GET_LOCK("lock1",null)
-master-bin.000001	1648	Query	1	#	use `test`; create table t2 (n int) engine=innodb
-master-bin.000001	1748	Query	1	#	use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `test`.`t1`,`test`.`ti`
+master-bin.000001	102	Query	1	#	use `test`; BEGIN
+master-bin.000001	170	Query	1	#	use `test`; insert into t1 values(16)
+master-bin.000001	258	Query	1	#	use `test`; insert into t1 values(18)
+master-bin.000001	346	Xid	1	#	COMMIT /* xid= */
+master-bin.000001	373	Query	1	#	use `test`; delete from t1
+master-bin.000001	450	Xid	1	#	COMMIT /* xid= */
+master-bin.000001	477	Query	1	#	use `test`; delete from t2
+master-bin.000001	554	Xid	1	#	COMMIT /* xid= */
+master-bin.000001	581	Query	1	#	use `test`; alter table t2 engine=MyISAM
+master-bin.000001	672	Query	1	#	use `test`; insert into t1 values (1)
+master-bin.000001	760	Xid	1	#	COMMIT /* xid= */
+master-bin.000001	787	Query	1	#	use `test`; insert into t2 values (20)
+master-bin.000001	876	Query	1	#	use `test`; drop table t1,t2
+master-bin.000001	955	Query	1	#	use `test`; create temporary table ti (a int) engine=innodb
+master-bin.000001	1065	Query	1	#	use `test`; insert into ti values(1)
+master-bin.000001	1152	Xid	1	#	COMMIT /* xid= */
+master-bin.000001	1179	Query	1	#	use `test`; create temporary table t1 (a int) engine=myisam
+master-bin.000001	1289	Query	1	#	use `test`; insert t1 values (1)
+master-bin.000001	1372	Query	1	#	use `test`; create table t0 (n int)
+master-bin.000001	1458	Query	1	#	use `test`; insert t0 select * from t1
+master-bin.000001	1547	Query	1	#	use `test`; insert into t0 select GET_LOCK("lock1",null)
+master-bin.000001	1654	Query	1	#	use `test`; create table t2 (n int) engine=innodb
+master-bin.000001	1754	Query	1	#	use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `test`.`t1`,`test`.`ti`
 do release_lock("lock1");
 drop table t0,t2;
 reset master;

--- 1.20.1.1/mysql-test/t/mix_innodb_myisam_binlog.test	2006-02-18 17:19:10 +01:00
+++ 1.23/mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test	2006-02-18 17:38:04 +01:00
@@ -9,6 +9,7 @@
 -- source include/not_embedded.inc
 
 -- source include/have_innodb.inc
+-- source include/have_debug.inc
 
 --disable_warnings
 drop table if exists t1, t2;
@@ -29,8 +30,7 @@
 commit;
 
 --replace_column 5 #
---replace_result "xid=15" "xid=8"
-show binlog events from 98;
+show binlog events from 102;
 
 delete from t1;
 delete from t2;
@@ -43,7 +43,7 @@
 rollback;
 
 --replace_column 5 #
-show binlog events from 98;
+show binlog events from 102;
 
 delete from t1;
 delete from t2;
@@ -58,8 +58,7 @@
 commit;
 
 --replace_column 5 #
---replace_result "xid=48" "xid=25"
-show binlog events from 98;
+show binlog events from 102;
 
 delete from t1;
 delete from t2;
@@ -76,8 +75,7 @@
 select a from t1 order by a; # check that savepoints work :)
 
 --replace_column 5 #
---replace_result "xid=70" "xid=37"
-show binlog events from 98;
+show binlog events from 102;
 
 # and when ROLLBACK is not explicit?
 delete from t1;
@@ -98,7 +96,7 @@
 # logging has been done, we use a user lock.
 select get_lock("a",10);
 --replace_column 5 #
-show binlog events from 98;
+show binlog events from 102;
 
 # and when not in a transact1on?
 delete from t1;
@@ -109,8 +107,7 @@
 insert into t2 select * from t1;
 
 --replace_column 5 #
---replace_result "xid=119" "xid=60"
-show binlog events from 98;
+show binlog events from 102;
 
 # Check that when the query updat1ng the MyISAM table is the first in the
 # transaction, we log it immediately.
@@ -122,14 +119,12 @@
 begin;
 insert into t2 select * from t1;
 --replace_column 5 #
---replace_result "xid=133" "xid=66"
-show binlog events from 98;
+show binlog events from 102;
 insert into t1 values(11);
 commit;
 
 --replace_column 5 #
---replace_result "xid=133" "xid=66" "xid=136" "xid=68"
-show binlog events from 98;
+show binlog events from 102;
 
 
 # Check that things work like before this BEGIN/ROLLBACK code was added,
@@ -147,8 +142,7 @@
 commit;
 
 --replace_column 5 #
---replace_result "xid=155" "xid=78"
-show binlog events from 98;
+show binlog events from 102;
 
 delete from t1;
 delete from t2;
@@ -160,7 +154,7 @@
 rollback;
 
 --replace_column 5 #
-show binlog events from 98;
+show binlog events from 102;
 
 delete from t1;
 delete from t2;
@@ -175,8 +169,7 @@
 commit;
 
 --replace_column 5 #
---replace_result "xid=187" "xid=94"
-show binlog events from 98;
+show binlog events from 102;
 
 delete from t1;
 delete from t2;
@@ -193,8 +186,7 @@
 select a from t1 order by a; # check that savepoints work :)
 
 --replace_column 5 #
---replace_result "xid=208" "xid=105"
-show binlog events from 98;
+show binlog events from 102;
 
 # Test for BUG#5714, where a MyISAM update in the transaction used to
 # release row-level locks in InnoDB
@@ -205,7 +197,7 @@
 delete from t1;
 delete from t2;
 --disable_warnings
-alter table t2 type=MyISAM;
+alter table t2 engine=MyISAM;
 --enable_warnings
 insert into t1 values (1);
 begin;
@@ -254,8 +246,7 @@
 connection con3;
 select get_lock("lock1",60);
 --replace_column 5 #
---replace_result "xid=208" "xid=105" "xid=227" "xid=114" "xid=230" "xid=115" "xid=234" "xid=117" "xid=261" "xid=132"
-show binlog events from 98;
+show binlog events from 102;
 do release_lock("lock1");
 drop table t0,t2;
 

--- 1.34/mysql-test/r/sql_mode.result	2006-02-02 20:39:24 +01:00
+++ 1.35/mysql-test/r/sql_mode.result	2006-02-18 17:38:04 +01:00
@@ -460,4 +460,20 @@
 create view v2 as select a from t2 where a in (select a from v1);
 drop view v2, v1;
 drop table t1, t2;
+select @@sql_mode;
+@@sql_mode
+ANSI_QUOTES
+set sql_mode=2097152;
+select @@sql_mode;
+@@sql_mode
+STRICT_TRANS_TABLES
+set sql_mode=16384+(65536*4);
+select @@sql_mode;
+@@sql_mode
+REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_TABLE_OPTIONS,ANSI
+set sql_mode=2147483648;
+ERROR 42000: Variable 'sql_mode' can't be set to the value of '2147483648'
+select @@sql_mode;
+@@sql_mode
+REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_TABLE_OPTIONS,ANSI
 SET @@SQL_MODE=@OLD_SQL_MODE;

--- 1.17/mysql-test/t/sql_mode.test	2005-11-07 16:24:35 +01:00
+++ 1.18/mysql-test/t/sql_mode.test	2006-02-18 17:38:04 +01:00
@@ -255,4 +255,13 @@
 drop view v2, v1;
 drop table t1, t2;
 
+select @@sql_mode;
+set sql_mode=2097152;
+select @@sql_mode;
+set sql_mode=16384+(65536*4);
+select @@sql_mode;
+--error 1231
+set sql_mode=2147483648; # that mode does not exist
+select @@sql_mode;
+
 SET @@SQL_MODE=@OLD_SQL_MODE;

--- 1.174/sql/set_var.cc	2006-02-17 20:00:40 +01:00
+++ 1.175/sql/set_var.cc	2006-02-18 17:38:04 +01:00
@@ -1621,7 +1621,12 @@
   else
   {
     ulonglong tmp= var->value->val_int();
-    if (tmp >= enum_names->count)
+   /*
+     For when the enum is made to contain 64 elements, as 1ULL<<64 is
+     undefined, we guard with a "count<64" test.
+   */
+    if (unlikely((tmp >= ((ULL(1)) << enum_names->count)) &&
+                 (enum_names->count < 64)))
     {
       llstr(tmp, buff);
       goto err;
Thread
bk commit into 5.1 tree (guilhem:1.2138)guilhem18 Feb