List:Commits« Previous MessageNext Message »
From:Hakan Kuecuekyilmaz Date:December 4 2008 4:17pm
Subject:bzr push into mysql-6.0-falcon branch (hky:2924 to 2926)
View as plain text  
 2926 Hakan Kuecuekyilmaz	2008-12-04
      Merged:
          mysql-6.0-falcon-team --> mysql-6.0-falcon.
modified:
  .bzr-mysql/default.conf

 2925 Hakan Kuecuekyilmaz	2008-12-04
      Fix for Bug#41231 falcon.falcon_bug_22181 test does not clean up after itself.
modified:
  mysql-test/suite/falcon/r/falcon_bug_22181.result
  mysql-test/suite/falcon/t/falcon_bug_22181.test

 2924 Hakan Kuecuekyilmaz	2008-12-04 [merge]
      Merged:
          mysql-6.0-falcon --> mysql-6.0-falcon-team
      
      and bumped internal version number.
added:
  mysql-test/suite/falcon/r/falcon_information_schema.result
  mysql-test/suite/falcon/t/falcon_information_schema.test
modified:
  config/ac-macros/misc.m4
  mysql-test/suite/falcon/r/falcon_bug_39708.result
  mysql-test/suite/falcon/t/falcon_bug_39708-master.opt
  mysql-test/suite/falcon/t/falcon_bug_39708.test
  storage/falcon/StorageVersion.h
  storage/falcon/plug.in

=== modified file 'mysql-test/extra/rpl_tests/rpl_truncate_helper.test'
--- a/mysql-test/extra/rpl_tests/rpl_truncate_helper.test	2007-11-02 12:00:38 +0000
+++ b/mysql-test/extra/rpl_tests/rpl_truncate_helper.test	2008-11-27 17:39:34 +0000
@@ -14,6 +14,9 @@ START SLAVE;
 
 --echo **** On Master ****
 connection master;
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
+
 eval SET SESSION BINLOG_FORMAT=$format;
 eval SET GLOBAL  BINLOG_FORMAT=$format;
 
@@ -40,3 +43,5 @@ source include/show_binlog_events.inc;
 
 connection master;
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;

=== modified file 'mysql-test/suite/falcon/r/falcon_bug_22181.result'
--- a/mysql-test/suite/falcon/r/falcon_bug_22181.result	2007-09-20 15:44:25 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_22181.result	2008-12-04 15:50:29 +0000
@@ -1,13 +1,14 @@
-SET STORAGE_ENGINE = Falcon;
-#---- Bug 22181 ----
+*** Bug #22181 ***
+SET @@storage_engine = 'Falcon';
 DROP DATABASE IF EXISTS falcon4;
 CREATE DATABASE falcon4;
-SET STORAGE_ENGINE = Falcon;
+SET @@storage_engine = 'Falcon';
 USE falcon4;
 USE falcon4;
 SHOW VARIABLES LIKE 'have_query_cache';
 Variable_name	Value
 have_query_cache	YES
+SELECT @@GLOBAL.query_cache_size INTO @previous_query_cache_size;
 SET GLOBAL query_cache_size = 200000;
 SET @@autocommit=0;
 CREATE TABLE t2 (s1 int, s2 varchar(1000), key(s1));
@@ -15,7 +16,7 @@ INSERT INTO t2 VALUES (1,repeat('a',1000
 COMMIT;
 START TRANSACTION;
 UPDATE t2 SET s2 = 'w' WHERE s1 = 10;
-SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+SELECT SQL_CACHE count(*) FROM t2 WHERE s2 = 'w';
 count(*)
 0
 COMMIT;
@@ -23,14 +24,18 @@ USE falcon4;
 START TRANSACTION;
 INSERT INTO t2 VALUES (-1,'w');
 COMMIT;
-SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+SELECT SQL_CACHE count(*) FROM t2 WHERE s2 = 'w';
 count(*)
 0
 COMMIT;
-SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+SELECT SQL_CACHE count(*) FROM t2 WHERE s2 = 'w';
 count(*)
 1
-SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+SELECT SQL_CACHE count(*) FROM t2 WHERE s2 = 'w';
 count(*)
 1
+SELECT count(*) FROM t2;
+count(*)
+3
+SET GLOBAL query_cache_size = @previous_query_cache_size;
 DROP DATABASE falcon4;

=== added file 'mysql-test/suite/falcon/r/falcon_bug_40994.result'
--- a/mysql-test/suite/falcon/r/falcon_bug_40994.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_40994.result	2008-12-01 22:18:34 +0000
@@ -0,0 +1,19 @@
+*** Bug #40994 ***
+SET @@storage_engine = 'Falcon';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (a int(11) NOT NULL ) ENGINE=Falcon DEFAULT CHARSET=latin1;
+SHOW CREATE TABLE t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `a` int(11) NOT NULL
+) ENGINE=Falcon DEFAULT CHARSET=latin1
+INSERT INTO t1 VALUES (1), (2), (3);
+CREATE UNIQUE INDEX i1 ON t1 (a);
+INSERT INTO t1 VALUES (4), (5), (6);
+DESCRIBE t1;
+Field	Type	Null	Key	Default	Extra
+a	int(11)	NO	PRI	NULL	
+SELECT count(*) FROM t1;
+count(*)
+6
+DROP TABLE t1;

=== modified file 'mysql-test/suite/falcon/t/falcon_bug_22181.test'
--- a/mysql-test/suite/falcon/t/falcon_bug_22181.test	2007-09-29 04:30:42 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_22181.test	2008-12-04 15:50:29 +0000
@@ -1,38 +1,47 @@
 --source include/have_falcon.inc
-SET STORAGE_ENGINE = Falcon;
+
 #
 # Bug #22181: Query cache becomes obsolete with two
 #                  interleaving transactions
 #
-# We should test this when query cache gets enabled in Falcon again (2006-7-11)
-#
---echo #---- Bug 22181 ----
+--echo *** Bug #22181 ***
+
+# ----------------------------------------------------- #
+# --- Initialisation                                --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
+
 --disable_warnings
 DROP DATABASE IF EXISTS falcon4;
 --enable_warnings
+
 CREATE DATABASE falcon4;
 
 # Establish connection1
 connect (connection1,localhost,root,,falcon4);
-SET STORAGE_ENGINE = Falcon;
+eval SET @@storage_engine = $engine;
 USE falcon4;
 
-
 connection default;
 USE falcon4;
 # This should be 'YES'.
 SHOW VARIABLES LIKE 'have_query_cache';
 
 # There should be no warnings.
+SELECT @@GLOBAL.query_cache_size INTO @previous_query_cache_size;
 SET GLOBAL query_cache_size = 200000;
 SET @@autocommit=0;
 CREATE TABLE t2 (s1 int, s2 varchar(1000), key(s1));
 INSERT INTO t2 VALUES (1,repeat('a',1000)),(2,repeat('a',1000));
 COMMIT;
+
+# ----------------------------------------------------- #
+# --- Test                                          --- #
+# ----------------------------------------------------- #
 START TRANSACTION;
 UPDATE t2 SET s2 = 'w' WHERE s1 = 10;
-SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
-
+SELECT SQL_CACHE count(*) FROM t2 WHERE s2 = 'w';
 
 connection connection1;
 COMMIT;
@@ -43,21 +52,26 @@ START TRANSACTION;
 INSERT INTO t2 VALUES (-1,'w');
 COMMIT;
 
-
 connection default;
-SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+SELECT SQL_CACHE count(*) FROM t2 WHERE s2 = 'w';
 COMMIT;
 
 # The result is 0. With engine=innodb, the result would be 1.
-SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
-
+SELECT SQL_CACHE count(*) FROM t2 WHERE s2 = 'w';
 
 connection connection1;
 # The result is 0. With engine=innodb, the result would be 1.
-SELECT sql_cache count(*) FROM t2 WHERE s2 = 'w';
+SELECT SQL_CACHE count(*) FROM t2 WHERE s2 = 'w';
 
-
-# Final cleanup
+# ----------------------------------------------------- #
+# --- Check                                         --- #
+# ----------------------------------------------------- #
+SELECT count(*) FROM t2;
+
+# ----------------------------------------------------- #
+# --- Final cleanup                                 --- #
+# ----------------------------------------------------- #
+disconnect connection1;
 connection default;
+SET GLOBAL query_cache_size = @previous_query_cache_size;
 DROP DATABASE falcon4;
-disconnect connection1;

=== added file 'mysql-test/suite/falcon/t/falcon_bug_40994.test'
--- a/mysql-test/suite/falcon/t/falcon_bug_40994.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_40994.test	2008-12-01 22:18:34 +0000
@@ -0,0 +1,36 @@
+--source include/have_falcon.inc
+#
+# Bug #40994: Falcon: can't create unique index on NOT NULL column if engine is falcon
+#
+--echo *** Bug #40994 ***
+
+# ----------------------------------------------------- #
+# --- Initialisation                                --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1 (a int(11) NOT NULL ) ENGINE=Falcon DEFAULT CHARSET=latin1;
+SHOW CREATE TABLE t1;
+
+# ----------------------------------------------------- #
+# --- Test                                          --- #
+# ----------------------------------------------------- #
+INSERT INTO t1 VALUES (1), (2), (3);
+CREATE UNIQUE INDEX i1 ON t1 (a);
+INSERT INTO t1 VALUES (4), (5), (6);
+
+# ----------------------------------------------------- #
+# --- Check                                         --- #
+# ----------------------------------------------------- #
+DESCRIBE t1;
+SELECT count(*) FROM t1;
+
+# ----------------------------------------------------- #
+# --- Final cleanup                                 --- #
+# ----------------------------------------------------- #
+DROP TABLE t1;

=== modified file 'mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result'
--- a/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result	2008-04-02 13:14:23 +0000
+++ b/mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result	2008-11-27 15:33:29 +0000
@@ -4,6 +4,7 @@ reset master;
 reset slave;
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
 start slave;
+SET @old_binlog_format= @@global.binlog_format;
 SET BINLOG_FORMAT=MIXED;
 SET GLOBAL BINLOG_FORMAT=MIXED;
 SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT;
@@ -73,3 +74,4 @@ slave-bin.000001	#	Table_map	1	#	table_i
 slave-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
 slave-bin.000001	#	Query	1	#	use `test`; COMMIT
 DROP TABLE IF EXISTS t1;
+SET @@global.binlog_format= @old_binlog_format;

=== modified file 'mysql-test/suite/rpl/r/rpl_truncate_2myisam.result'
--- a/mysql-test/suite/rpl/r/rpl_truncate_2myisam.result	2008-03-28 12:16:41 +0000
+++ b/mysql-test/suite/rpl/r/rpl_truncate_2myisam.result	2008-11-27 17:39:34 +0000
@@ -10,6 +10,8 @@ DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=STATEMENT;
 SET GLOBAL  BINLOG_FORMAT=STATEMENT;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
@@ -42,12 +44,16 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Query	#	#	use `test`; TRUNCATE TABLE t1
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;
 STOP SLAVE;
 DROP TABLE IF EXISTS t1;
 DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=MIXED;
 SET GLOBAL  BINLOG_FORMAT=MIXED;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
@@ -80,12 +86,16 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Query	#	#	use `test`; TRUNCATE TABLE t1
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;
 STOP SLAVE;
 DROP TABLE IF EXISTS t1;
 DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=ROW;
 SET GLOBAL  BINLOG_FORMAT=ROW;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
@@ -121,12 +131,16 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Query	#	#	use `test`; TRUNCATE TABLE t1
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;
 STOP SLAVE;
 DROP TABLE IF EXISTS t1;
 DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=STATEMENT;
 SET GLOBAL  BINLOG_FORMAT=STATEMENT;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
@@ -159,12 +173,16 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Query	#	#	use `test`; DELETE FROM t1
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;
 STOP SLAVE;
 DROP TABLE IF EXISTS t1;
 DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=MIXED;
 SET GLOBAL  BINLOG_FORMAT=MIXED;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
@@ -197,12 +215,16 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Query	#	#	use `test`; DELETE FROM t1
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;
 STOP SLAVE;
 DROP TABLE IF EXISTS t1;
 DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=ROW;
 SET GLOBAL  BINLOG_FORMAT=ROW;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=MyISAM;
@@ -242,3 +264,5 @@ master-bin.000001	#	Delete_rows	#	#	tabl
 master-bin.000001	#	Query	#	#	use `test`; COMMIT
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;

=== modified file 'mysql-test/suite/rpl/r/rpl_truncate_3innodb.result'
--- a/mysql-test/suite/rpl/r/rpl_truncate_3innodb.result	2007-12-14 13:40:45 +0000
+++ b/mysql-test/suite/rpl/r/rpl_truncate_3innodb.result	2008-11-27 17:39:34 +0000
@@ -10,6 +10,8 @@ DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=STATEMENT;
 SET GLOBAL  BINLOG_FORMAT=STATEMENT;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB;
@@ -46,12 +48,16 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;
 STOP SLAVE;
 DROP TABLE IF EXISTS t1;
 DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=MIXED;
 SET GLOBAL  BINLOG_FORMAT=MIXED;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB;
@@ -88,12 +94,16 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;
 STOP SLAVE;
 DROP TABLE IF EXISTS t1;
 DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=ROW;
 SET GLOBAL  BINLOG_FORMAT=ROW;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB;
@@ -131,12 +141,16 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;
 STOP SLAVE;
 DROP TABLE IF EXISTS t1;
 DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=STATEMENT;
 SET GLOBAL  BINLOG_FORMAT=STATEMENT;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB;
@@ -173,12 +187,16 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;
 STOP SLAVE;
 DROP TABLE IF EXISTS t1;
 DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=MIXED;
 SET GLOBAL  BINLOG_FORMAT=MIXED;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB;
@@ -215,12 +233,16 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;
 STOP SLAVE;
 DROP TABLE IF EXISTS t1;
 DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=ROW;
 SET GLOBAL  BINLOG_FORMAT=ROW;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=InnoDB;
@@ -260,3 +282,5 @@ master-bin.000001	#	Delete_rows	#	#	tabl
 master-bin.000001	#	Xid	#	#	COMMIT /* XID */
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;

=== modified file 'mysql-test/suite/rpl/r/rpl_truncate_falcon.result'
--- a/mysql-test/suite/rpl/r/rpl_truncate_falcon.result	2008-11-17 10:57:50 +0000
+++ b/mysql-test/suite/rpl/r/rpl_truncate_falcon.result	2008-11-27 17:39:34 +0000
@@ -10,6 +10,8 @@ DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=ROW;
 SET GLOBAL  BINLOG_FORMAT=ROW;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=Falcon;
@@ -47,12 +49,16 @@ master-bin.000001	#	Query	#	#	use `test`
 master-bin.000001	#	Query	#	#	use `test`; COMMIT
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;
 STOP SLAVE;
 DROP TABLE IF EXISTS t1;
 DROP TABLE IF EXISTS t1;
 RESET SLAVE;
 START SLAVE;
 **** On Master ****
+SET @old_session_binlog_format= @@session.binlog_format;
+SET @old_global_binlog_format= @@global.binlog_format;
 SET SESSION BINLOG_FORMAT=ROW;
 SET GLOBAL  BINLOG_FORMAT=ROW;
 CREATE TABLE t1 (a INT, b LONG) ENGINE=Falcon;
@@ -92,3 +98,5 @@ master-bin.000001	#	Delete_rows	#	#	tabl
 master-bin.000001	#	Query	#	#	use `test`; COMMIT
 master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
 RESET MASTER;
+SET @@session.binlog_format= @old_session_binlog_format;
+SET @@global.binlog_format= @old_global_binlog_format;

=== modified file 'mysql-test/suite/rpl/t/disabled.def'
--- a/mysql-test/suite/rpl/t/disabled.def	2008-11-21 16:29:38 +0000
+++ b/mysql-test/suite/rpl/t/disabled.def	2008-11-27 17:39:34 +0000
@@ -31,6 +31,4 @@ rpl_idempotency            : Bug#37767 2
 rpl_locktrans_innodb       : Bug#37712 2008-07-17 alik Disabled to make 6.0 greaner (the test fails too often)
 rpl_temporary_errors       : Bug#36968 2008-07-17 alik Disabled to make 6.0 greaner (the test fails too often)
 rpl_flushlog_loop          : BUG#37733 2008-07-23 Sven disabled in 5.1-bugteam. the bug has been fixed in 5.1-rpl: please re-enable when that gets pushed to main
-rpl_truncate_falcon        : Bug#40926 2008-11-21 johnemb rpl.rpl_truncate_falcon fails in Pushbuild due to wrong binlog-format being used
-rpl_relay_space_falcon     : Bug#40927 2008-11-21 johnemb rpl.rpl_relay_space_falcon fails when binlog-format is explicitly set to mixed
 rpl_extraCol_falcon        : Bug#40930 2008-11-21 johnemb rpl.rpl_extraCol_falcon fails doing STOP SLAVE (on Windows PB2)

=== modified file 'mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test'
--- a/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test	2007-06-27 12:29:10 +0000
+++ b/mysql-test/suite/rpl/t/rpl_rbr_to_sbr.test	2008-11-27 15:33:29 +0000
@@ -5,6 +5,8 @@
 # Test that the slave temporarily switches to ROW when seeing binrow
 # events when it is in STATEMENT or MIXED mode
 
+SET @old_binlog_format= @@global.binlog_format;
+
 SET BINLOG_FORMAT=MIXED;
 SET GLOBAL BINLOG_FORMAT=MIXED;
 SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT;
@@ -33,6 +35,7 @@ SHOW BINLOG EVENTS;
 
 connection master;
 DROP TABLE IF EXISTS t1;
+SET @@global.binlog_format= @old_binlog_format;
 
 # Let's compare. Note: If they match test will pass, if they do not match
 # the test will show that the diff statement failed and not reject file

=== modified file 'storage/falcon/DataPage.cpp'
--- a/storage/falcon/DataPage.cpp	2008-06-17 17:41:54 +0000
+++ b/storage/falcon/DataPage.cpp	2008-12-04 12:22:04 +0000
@@ -225,7 +225,7 @@ int DataPage::storeRecord(Dbb *dbb, Bdb 
 
 	short id = -1;
 	short highWater = dbb->pageSize;
-	short used = OFFSET (DataPage*, lineIndex) + maxLine * sizeof (LineIndex);
+	int spaceRemaining = dbb->pageSize - OFFSET (DataPage*, lineIndex) - maxLine * sizeof (LineIndex) - length;
 	LineIndex *line, *end;
 
 	for (line = lineIndex, end = line + maxLine; line < end; ++line)
@@ -234,19 +234,17 @@ int DataPage::storeRecord(Dbb *dbb, Bdb 
 			if (line->offset < highWater)
 				highWater = line->offset;
 				
-			used += ABS (line->length);
+			spaceRemaining -= ABS (line->length);
 			}
 		else if (id == -1)
 			id = (int) (line - lineIndex);
 
 	if (id == -1)
 		{
-		used += sizeof (LineIndex);
+		spaceRemaining -= sizeof (LineIndex);
 		++end;
 		}
 
-	int spaceRemaining = dbb->pageSize - used - length;
-	
 	if (spaceRemaining < 0)
 		return 0;
 
@@ -318,7 +316,7 @@ int DataPage::deleteLine (Dbb *dbb, int 
 		if (lineIndex [n].offset)
 			{
 			max = n + 1;
-			available -= lineIndex[n].length;
+			available -= ABS(lineIndex[n].length);
 			}
 
 	maxLine = max;

=== modified file 'storage/falcon/StorageVersion.h'
--- a/storage/falcon/StorageVersion.h	2008-11-27 06:08:03 +0000
+++ b/storage/falcon/StorageVersion.h	2008-12-04 15:22:09 +0000
@@ -14,5 +14,5 @@
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
 
-#define FALCON_VERSION	"T1.3-6"
-#define FALCON_DATE		"27 November, 2008"
+#define FALCON_VERSION	"T1.3-7"
+#define FALCON_DATE		"04 December, 2008"

=== modified file 'storage/falcon/ha_falcon.cpp'
--- a/storage/falcon/ha_falcon.cpp	2008-11-25 13:38:06 +0000
+++ b/storage/falcon/ha_falcon.cpp	2008-12-01 22:18:34 +0000
@@ -2201,10 +2201,6 @@ int StorageInterface::check_if_supported
 	if (tempTable || (*alter_flags & notSupported).is_set())
 		DBUG_RETURN(HA_ALTER_NOT_SUPPORTED);
 
-	// TODO:
-	// 1. Check for supported ALTER combinations
-	// 2. Check for explicit default (altered_table->s->default_values)
-	
 	if (alter_flags->is_set(HA_ADD_COLUMN))
 		{
 		Field *field = NULL;
@@ -2227,6 +2223,33 @@ int StorageInterface::check_if_supported
 			}
 		}
 		
+	if (alter_flags->is_set(HA_ADD_INDEX) || alter_flags->is_set(HA_ADD_UNIQUE_INDEX)
+		|| alter_flags->is_set(HA_DROP_INDEX) || alter_flags->is_set(HA_DROP_UNIQUE_INDEX))
+		{
+		for (unsigned int n = 0; n < altered_table->s->keys; n++)
+			{
+			KEY *key = altered_table->key_info + n;
+			KEY *tableEnd = table->key_info + table->s->keys;
+			KEY *tableKey;
+			
+			// Determine if this is a new index
+
+			for (tableKey = table->key_info; tableKey < tableEnd; tableKey++)
+				if (!strcmp(tableKey->name, key->name))
+					break;
+
+			// Unique, non-null keys are interpreted as primary keys.
+			// Online add/drop primary keys not yet supported.
+			
+			if (tableKey >= tableEnd)
+				if (n == altered_table->s->primary_key)
+					{
+					DBUG_PRINT("info",("Online add/drop primary key not supported"));
+					DBUG_RETURN(HA_ALTER_NOT_SUPPORTED);
+					}
+			}
+		}
+		
 	DBUG_RETURN(HA_ALTER_SUPPORTED_NO_LOCK);
 }
 

Thread
bzr push into mysql-6.0-falcon branch (hky:2924 to 2926) Hakan Kuecuekyilmaz4 Dec