List:Commits« Previous MessageNext Message »
From:John H. Embretsen Date:November 20 2008 2:54pm
Subject:bzr push into mysql-6.0-falcon-team branch (john.embretsen:2914 to 2915)
View as plain text  
 2915 John H. Embretsen	2008-11-20 [merge]
      Merging local changes (falcon rpl test wrappers, first batch) into mysql-6.0-falcon-team branch.
added:
  mysql-test/suite/rpl/r/rpl_extraCol_falcon.result
  mysql-test/suite/rpl/r/rpl_extraColmaster_falcon.result
  mysql-test/suite/rpl/r/rpl_locktrans_falcon.result
  mysql-test/suite/rpl/r/rpl_relay_space_falcon.result
  mysql-test/suite/rpl/r/rpl_row_blob_falcon.result
  mysql-test/suite/rpl/r/rpl_truncate_falcon.result
  mysql-test/suite/rpl/t/rpl_extraCol_falcon.test
  mysql-test/suite/rpl/t/rpl_extraColmaster_falcon.test
  mysql-test/suite/rpl/t/rpl_locktrans_falcon.test
  mysql-test/suite/rpl/t/rpl_relay_space_falcon.test
  mysql-test/suite/rpl/t/rpl_row_blob_falcon.test
  mysql-test/suite/rpl/t/rpl_truncate_falcon.test

 2914 Vladislav Vaintroub	2008-11-19 [merge]
      merge
removed:
  mysql-test/suite/backup/r/backup_view_on_view.result
  mysql-test/suite/backup/t/backup_view_on_view.test
added:
  mysql-test/suite/backup/r/backup_logs_purge.result
  mysql-test/suite/backup/t/backup_logs_output-master.opt
  mysql-test/suite/backup/t/backup_logs_purge.test
  mysql-test/suite/backup_engines/r/backup_tmp_tables.result
  mysql-test/suite/backup_engines/t/backup_tmp_tables.test
  mysql-test/suite/rpl/r/rpl_backup.result
  mysql-test/suite/rpl/t/rpl_backup.test
modified:
  include/my_base.h
  mysql-test/mysql-test-run.pl
  mysql-test/suite/backup/r/backup_errors.result
  mysql-test/suite/backup/r/backup_logs.result
  mysql-test/suite/backup/r/backup_logs_output.result
  mysql-test/suite/backup/r/backup_no_be.result
  mysql-test/suite/backup/t/backup_errors.test
  mysql-test/suite/backup/t/backup_logs.test
  mysql-test/suite/backup/t/backup_logs_output.test
  mysql-test/suite/backup/t/backup_no_be.test
  mysql-test/suite/backup/t/disabled.def
  mysql-test/suite/backup_engines/include/backup_ptr_objects.inc
  mysql-test/suite/backup_engines/r/backup_ptr_objects_mixed.result
  mysql-test/suite/backup_engines/r/backup_ptr_objects_row.result
  mysql-test/suite/backup_engines/r/backup_ptr_objects_stmt.result
  sql/backup/backup_info.cc
  sql/backup/backup_kernel.h
  sql/backup/be_snapshot.cc
  sql/backup/be_thread.cc
  sql/backup/data_backup.cc
  sql/backup/image_info.cc
  sql/backup/image_info.h
  sql/backup/kernel.cc
  sql/backup/logger.h
  sql/log.cc
  sql/log.h
  sql/log_event.cc
  sql/mysqld.cc
  sql/rpl_constants.h
  sql/set_var.cc
  sql/share/errmsg.txt
  sql/si_logs.cc
  sql/si_logs.h
  sql/si_objects.cc
  sql/si_objects.h
  sql/sql_lex.cc
  sql/sql_lex.h
  sql/sql_parse.cc
  sql/sql_repl.cc
  sql/sql_yacc.yy
  storage/csv/ha_tina.cc
  storage/csv/ha_tina.h
  storage/falcon/DeferredIndex.cpp
  storage/falcon/Log.h
  storage/falcon/SRLUpdateIndex.cpp
  storage/falcon/SRLUpdateRecords.cpp
  storage/falcon/SerialLog.cpp
  storage/falcon/SerialLog.h
  storage/falcon/StorageHandler.cpp
  storage/falcon/StorageVersion.h
  storage/falcon/ha_falcon.cpp
  storage/falcon/ha_falcon.h

=== added file 'mysql-test/suite/rpl/r/rpl_extraCol_falcon.result'

=== added file 'mysql-test/suite/rpl/r/rpl_extraCol_falcon.result'
--- a/mysql-test/suite/rpl/r/rpl_extraCol_falcon.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/r/rpl_extraCol_falcon.result	2008-11-17 10:57:50 +0000
@@ -0,0 +1,969 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+**** Diff Table Def Start ****
+*** On Slave ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t1 (a INT, b INT PRIMARY KEY, c CHAR(20),
+d FLOAT DEFAULT '2.00', 
+e CHAR(4) DEFAULT 'TEST') 
+ENGINE='Falcon';
+*** Create t1 on Master ***
+CREATE TABLE t1 (a INT PRIMARY KEY, b INT, c CHAR(10)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+INSERT INTO t1 () VALUES(1,2,'TEXAS'),(2,1,'AUSTIN'),(3,4,'QA');
+SELECT * FROM t1 ORDER BY a;
+a	b	c
+1	2	TEXAS
+2	1	AUSTIN
+3	4	QA
+*** Select from slave ***
+SELECT * FROM t1 ORDER BY a;
+a	b	c	d	e
+1	2	TEXAS	2	TEST
+2	1	AUSTIN	2	TEST
+3	4	QA	2	TEST
+*** Drop t1  ***
+DROP TABLE t1;
+*** Create t2 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t2 (a INT, b INT PRIMARY KEY, c CHAR(5),
+d FLOAT DEFAULT '2.00',
+e CHAR(5) DEFAULT 'TEST2')
+ENGINE='Falcon';
+*** Create t2 on Master ***
+CREATE TABLE t2 (a INT PRIMARY KEY, b INT, c CHAR(10)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Master Data Insert ***
+INSERT INTO t2 () VALUES(1,2,'Kyle, TEX'),(2,1,'JOE AUSTIN'),(3,4,'QA TESTING');
+SELECT * FROM t2 ORDER BY a;
+a	b	c
+1	2	Kyle, TEX
+2	1	JOE AUSTIN
+3	4	QA TESTING
+*** Start Slave ***
+START SLAVE;
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	#
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1535
+Last_Error	Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1535
+Last_SQL_Error	Table definition on master and slave does not match: Column 2 size mismatch - master has size 10, test.t2 on slave has size 6. Master's column size should be <= the slave's column size.
+STOP SLAVE;
+RESET SLAVE;
+SELECT * FROM t2 ORDER BY a;
+a	b	c	d	e
+RESET MASTER;
+START SLAVE;
+*** Drop t2  ***
+DROP TABLE t2;
+*** Create t3 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t3 (a INT, b INT PRIMARY KEY, c CHAR(20),
+d FLOAT DEFAULT '2.00',
+e CHAR(5) DEFAULT 'TEST2')
+ENGINE='Falcon';
+*** Create t3 on Master ***
+CREATE TABLE t3 (a BLOB, b INT PRIMARY KEY, c CHAR(20)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t3 () VALUES(@b1,2,'Kyle, TEX'),(@b1,1,'JOE AUSTIN'),(@b1,4,'QA TESTING');
+********************************************
+*** Expect slave to fail with Error 1522 ***
+********************************************
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	#
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1535
+Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1535
+Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 252, test.t3 has type 3
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+*** Drop t3  ***
+DROP TABLE t3;
+*** Create t4 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t4 (a INT, b INT PRIMARY KEY, c CHAR(20),
+d FLOAT DEFAULT '2.00',
+e CHAR(5) DEFAULT 'TEST2')
+ENGINE='Falcon';
+*** Create t4 on Master ***
+CREATE TABLE t4 (a DECIMAL(8,2), b INT PRIMARY KEY, c CHAR(20)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+INSERT INTO t4 () VALUES(100.22,2,'Kyle, TEX'),(200.26,1,'JOE AUSTIN'),
+(30000.22,4,'QA TESTING');
+********************************************
+*** Expect slave to fail with Error 1522 ***
+********************************************
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	#
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1535
+Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1535
+Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 246, test.t4 has type 3
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+*** Drop t4  ***
+DROP TABLE t4;
+*** Create t5 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t5 (a INT PRIMARY KEY, b CHAR(5),
+c FLOAT, d INT, e DOUBLE,
+f DECIMAL(8,2))ENGINE='Falcon';
+*** Create t5 on Master ***
+CREATE TABLE t5 (a INT PRIMARY KEY, b VARCHAR(6),
+c DECIMAL(8,2), d BIT, e BLOB,
+f FLOAT) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+INSERT INTO t5 () VALUES(1,'Kyle',200.23,1,'b1b1',23.00098),
+(2,'JOE',300.01,0,'b2b2',1.0000009);
+********************************************
+*** Expect slave to fail with Error 1522 ***
+********************************************
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	#
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1535
+Last_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1535
+Last_SQL_Error	Table definition on master and slave does not match: Column 5 type mismatch - received type 4, test.t5 has type 246
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+*** Drop t5  ***
+DROP TABLE t5;
+*** Create t6 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t6 (a INT PRIMARY KEY, b CHAR(5),
+c FLOAT, d INT)ENGINE='Falcon';
+*** Create t6 on Master ***
+CREATE TABLE t6 (a INT PRIMARY KEY, b VARCHAR(6),
+c DECIMAL(8,2), d BIT 
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+INSERT INTO t6 () VALUES(1,'Kyle',200.23,1),
+(2,'JOE',300.01,0);
+********************************************
+*** Expect slave to fail with Error 1522 ***
+********************************************
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	#
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1535
+Last_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1535
+Last_SQL_Error	Table definition on master and slave does not match: Column 3 type mismatch - received type 16, test.t6 has type 3
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=3;
+*** Drop t6  ***
+DROP TABLE t6;
+DROP TABLE t6;
+START SLAVE;
+**** Diff Table Def End ****
+**** Extra Colums Start ****
+*** Create t7 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t7 (a INT KEY, b BLOB, c CHAR(5),
+d TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
+e CHAR(20) DEFAULT 'Extra Column Testing')
+ENGINE='Falcon';
+*** Create t7 on Master ***
+CREATE TABLE t7 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t7 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
+SELECT * FROM t7 ORDER BY a;
+a	b	c
+1	b1b1	Kyle
+2	b1b1	JOE
+3	b1b1	QA
+*** Select from slave ***
+SELECT * FROM t7 ORDER BY a;
+a	b	c	d	e
+1	b1b1	Kyle	0000-00-00 00:00:00	Extra Column Testing
+2	b1b1	JOE	0000-00-00 00:00:00	Extra Column Testing
+3	b1b1	QA	0000-00-00 00:00:00	Extra Column Testing
+*** Drop t7  ***
+DROP TABLE t7;
+*** Create t8 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t8 (a INT KEY, b BLOB, c CHAR(5),
+d TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
+e INT)ENGINE='Falcon';
+*** Create t8 on Master ***
+CREATE TABLE t8 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t8 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
+*** Drop t8  ***
+DROP TABLE t8;
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
+d TIMESTAMP,
+e INT NOT NULL) ENGINE='Falcon';
+*** Create t9 on Master ***
+CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	#
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1364
+Last_Error	Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 331
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1364
+Last_SQL_Error	Could not execute Write_rows event on table test.t9; Field 'e' doesn't have a default value, Error_code: 1364; handler error HA_ERR_ROWS_EVENT_APPLY; the event's master log master-bin.000001, end_log_pos 331
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+*** Create t10 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233', 
+c CHAR(5), e INT DEFAULT '1')ENGINE='Falcon';
+*** Create t10 on Master ***
+CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t10 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
+********************************************
+*** Expect slave to fail with Error 1522 ***
+********************************************
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	#
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1535
+Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1535
+Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 254, test.t10 has type 5
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+*** Drop t10  ***
+DROP TABLE t10;
+*** Create t11 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='Falcon';
+*** Create t11 on Master ***
+CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t11 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
+********************************************
+*** Expect slave to fail with Error 1522 ***
+********************************************
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	#
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1535
+Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1535
+Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 15, test.t11 has type 252
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+*** Drop t11  ***
+DROP TABLE t11;
+*** Create t12 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='Falcon';
+*** Create t12 on Master ***
+CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t12 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
+SELECT * FROM t12 ORDER BY a;
+a	b	c
+1	b1b1b1b1b1b1b1b1	Kyle
+2	b1b1b1b1b1b1b1b1	JOE
+3	b1b1b1b1b1b1b1b1	QA
+*** Select on Slave ***
+SELECT * FROM t12 ORDER BY a;
+a	b	f	c	e
+1	b1b1b1b1b1b1b1b1	Kyle	test	1
+2	b1b1b1b1b1b1b1b1	JOE	test	1
+3	b1b1b1b1b1b1b1b1	QA	test	1
+*** Drop t12  ***
+DROP TABLE t12;
+**** Extra Colums End ****
+*** BUG 22177 Start ***
+*** Create t13 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t13 (a INT KEY, b BLOB, c CHAR(5),
+d INT DEFAULT '1',
+e TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='Falcon';
+*** Create t13 on Master ***
+CREATE TABLE t13 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t13 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
+SELECT * FROM t13 ORDER BY a;
+a	b	c
+1	b1b1b1b1b1b1b1b1	Kyle
+2	b1b1b1b1b1b1b1b1	JOE
+3	b1b1b1b1b1b1b1b1	QA
+*** Select on Slave ****
+SELECT * FROM t13 ORDER BY a;
+a	b	c	d	e
+1	b1b1b1b1b1b1b1b1	Kyle	1	CURRENT_TIMESTAMP
+2	b1b1b1b1b1b1b1b1	JOE	1	CURRENT_TIMESTAMP
+3	b1b1b1b1b1b1b1b1	QA	1	CURRENT_TIMESTAMP
+*** Drop t13  ***
+DROP TABLE t13;
+*** 22117 END *** 
+*** Alter Master Table Testing Start ***
+*** Create t14 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 INT DEFAULT '1',
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='Falcon';
+*** Create t14 on Master ***
+CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
+ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle'),
+(2,2.00,'This Test Should work',@b1,'JOE'),
+(3,3.00,'If is does not, I will open a bug',@b1,'QA');
+SELECT * FROM t14 ORDER BY c1;
+c1	c2	c3	c4	c5
+1	1.00	Replication Testing Extra Col	b1b1b1b1b1b1b1b1	Kyle
+2	2.00	This Test Should work	b1b1b1b1b1b1b1b1	JOE
+3	3.00	If is does not, I will open a bug	b1b1b1b1b1b1b1b1	QA
+*** Select on Slave ****
+SELECT * FROM t14 ORDER BY c1;
+c1	c2	c3	c4	c5	c6	c7
+1	1.00	Replication Testing Extra Col	b1b1b1b1b1b1b1b1	Kyle	1	CURRENT_TIMESTAMP
+2	2.00	This Test Should work	b1b1b1b1b1b1b1b1	JOE	1	CURRENT_TIMESTAMP
+3	3.00	If is does not, I will open a bug	b1b1b1b1b1b1b1b1	QA	1	CURRENT_TIMESTAMP
+*** Create t14a on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t14a (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 INT DEFAULT '1',
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='Falcon';
+*** Create t14a on Master ***
+CREATE TABLE t14a (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t14a () VALUES(1,@b1,'Kyle'),
+(2,@b1,'JOE'),
+(3,@b1,'QA');
+SELECT * FROM t14a ORDER BY c1;
+c1	c4	c5
+1	b1b1b1b1b1b1b1b1	Kyle
+2	b1b1b1b1b1b1b1b1	JOE
+3	b1b1b1b1b1b1b1b1	QA
+*** Select on Slave ****
+SELECT * FROM t14a ORDER BY c1;
+c1	c4	c5	c6	c7
+1	b1b1b1b1b1b1b1b1	Kyle	1	CURRENT_TIMESTAMP
+2	b1b1b1b1b1b1b1b1	JOE	1	CURRENT_TIMESTAMP
+3	b1b1b1b1b1b1b1b1	QA	1	CURRENT_TIMESTAMP
+STOP SLAVE;
+RESET SLAVE;
+*** Master Drop c5 ***
+ALTER TABLE t14a DROP COLUMN c5;
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t14a () VALUES(4,@b1),
+(5,@b1),
+(6,@b1);
+SELECT * FROM t14a ORDER BY c1;
+c1	c4
+1	b1b1b1b1b1b1b1b1
+2	b1b1b1b1b1b1b1b1
+3	b1b1b1b1b1b1b1b1
+4	b1b1b1b1b1b1b1b1
+5	b1b1b1b1b1b1b1b1
+6	b1b1b1b1b1b1b1b1
+*** Select on Slave ****
+SELECT * FROM t14a ORDER BY c1;
+c1	c4	c5	c6	c7
+1	b1b1b1b1b1b1b1b1	Kyle	1	CURRENT_TIMESTAMP
+2	b1b1b1b1b1b1b1b1	JOE	1	CURRENT_TIMESTAMP
+3	b1b1b1b1b1b1b1b1	QA	1	CURRENT_TIMESTAMP
+4	b1b1b1b1b1b1b1b1	NULL	1	CURRENT_TIMESTAMP
+5	b1b1b1b1b1b1b1b1	NULL	1	CURRENT_TIMESTAMP
+6	b1b1b1b1b1b1b1b1	NULL	1	CURRENT_TIMESTAMP
+*** connect to master and drop columns ***
+ALTER TABLE t14 DROP COLUMN c2;
+ALTER TABLE t14 DROP COLUMN c4;
+*** Select from Master ***
+SELECT * FROM t14 ORDER BY c1;
+c1	c3	c5
+1	Replication Testing Extra Col	Kyle
+2	This Test Should work	JOE
+3	If is does not, I will open a bug	QA
+*** Select from Slave ***
+SELECT * FROM t14 ORDER BY c1;
+c1	c3	c5	c6	c7
+1	Replication Testing Extra Col	Kyle	1	CURRENT_TIMESTAMP
+2	This Test Should work	JOE	1	CURRENT_TIMESTAMP
+3	If is does not, I will open a bug	QA	1	CURRENT_TIMESTAMP
+*** Drop t14  ***
+DROP TABLE t14;
+*** Create t15 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t15 (c1 INT KEY, c2 DECIMAL(8,2), c3 TEXT,
+c4 BLOB, c5 CHAR(5),
+c6 INT DEFAULT '1',
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='Falcon';
+*** Create t15 on Master ***
+CREATE TABLE t15 (c1 INT PRIMARY KEY, c2 DECIMAL(8,2), c3 TEXT,
+c4 BLOB, c5 CHAR(5)) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t15 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle'),
+(2,2.00,'This Test Should work',@b1,'JOE'),
+(3,3.00,'If is does not, I will open a bug',@b1,'QA');
+SELECT * FROM t15 ORDER BY c1;
+c1	c2	c3	c4	c5
+1	1.00	Replication Testing Extra Col	b1b1b1b1b1b1b1b1	Kyle
+2	2.00	This Test Should work	b1b1b1b1b1b1b1b1	JOE
+3	3.00	If is does not, I will open a bug	b1b1b1b1b1b1b1b1	QA
+*** Select on Slave ****
+SELECT * FROM t15 ORDER BY c1;
+c1	c2	c3	c4	c5	c6	c7
+1	1.00	Replication Testing Extra Col	b1b1b1b1b1b1b1b1	Kyle	1	CURRENT_TIMESTAMP
+2	2.00	This Test Should work	b1b1b1b1b1b1b1b1	JOE	1	CURRENT_TIMESTAMP
+3	3.00	If is does not, I will open a bug	b1b1b1b1b1b1b1b1	QA	1	CURRENT_TIMESTAMP
+*** Add column on master that is a Extra on Slave ***
+ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5;
+********************************************
+*** Expect slave to fail with Error 1060 ***
+********************************************
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	#
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1060
+Last_Error	Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1060
+Last_SQL_Error	Error 'Duplicate column name 'c6'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c6 INT AFTER c5'
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
+START SLAVE;
+*** Try to insert in master ****
+INSERT INTO t15 () VALUES(5,2.00,'Replication Testing',@b1,'Buda',2);
+SELECT * FROM t15 ORDER BY c1;
+c1	c2	c3	c4	c5	c6
+1	1.00	Replication Testing Extra Col	b1b1b1b1b1b1b1b1	Kyle	NULL
+2	2.00	This Test Should work	b1b1b1b1b1b1b1b1	JOE	NULL
+3	3.00	If is does not, I will open a bug	b1b1b1b1b1b1b1b1	QA	NULL
+5	2.00	Replication Testing	b1b1b1b1b1b1b1b1	Buda	2
+*** Try to select from slave ****
+SELECT * FROM t15 ORDER BY c1;
+c1	c2	c3	c4	c5	c6	c7
+1	1.00	Replication Testing Extra Col	b1b1b1b1b1b1b1b1	Kyle	1	CURRENT_TIMESTAMP
+2	2.00	This Test Should work	b1b1b1b1b1b1b1b1	JOE	1	CURRENT_TIMESTAMP
+3	3.00	If is does not, I will open a bug	b1b1b1b1b1b1b1b1	QA	1	CURRENT_TIMESTAMP
+5	2.00	Replication Testing	b1b1b1b1b1b1b1b1	Buda	2	CURRENT_TIMESTAMP
+*** DROP TABLE t15 ***
+DROP TABLE t15;
+*** Create t16 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t16 (c1 INT KEY, c2 DECIMAL(8,2), c3 TEXT,
+c4 BLOB, c5 CHAR(5),
+c6 INT DEFAULT '1',
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='Falcon';
+*** Create t16 on Master ***
+CREATE TABLE t16 (c1 INT PRIMARY KEY, c2 DECIMAL(8,2), c3 TEXT,
+c4 BLOB, c5 CHAR(5))ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t16 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle'),
+(2,2.00,'This Test Should work',@b1,'JOE'),
+(3,3.00,'If is does not, I will open a bug',@b1,'QA');
+SELECT * FROM t16 ORDER BY c1;
+c1	c2	c3	c4	c5
+1	1.00	Replication Testing Extra Col	b1b1b1b1b1b1b1b1	Kyle
+2	2.00	This Test Should work	b1b1b1b1b1b1b1b1	JOE
+3	3.00	If is does not, I will open a bug	b1b1b1b1b1b1b1b1	QA
+*** Select on Slave ****
+SELECT * FROM t16 ORDER BY c1;
+c1	c2	c3	c4	c5	c6	c7
+1	1.00	Replication Testing Extra Col	b1b1b1b1b1b1b1b1	Kyle	1	CURRENT_TIMESTAMP
+2	2.00	This Test Should work	b1b1b1b1b1b1b1b1	JOE	1	CURRENT_TIMESTAMP
+3	3.00	If is does not, I will open a bug	b1b1b1b1b1b1b1b1	QA	1	CURRENT_TIMESTAMP
+*** Add Partition on master ***
+ALTER TABLE t16 PARTITION BY KEY(c1) PARTITIONS 4;
+INSERT INTO t16 () VALUES(4,1.00,'Replication Rocks',@b1,'Omer');
+SHOW CREATE TABLE t16;
+Table	Create Table
+t16	CREATE TABLE `t16` (
+  `c1` int(11) NOT NULL,
+  `c2` decimal(8,2) DEFAULT NULL,
+  `c3` text,
+  `c4` blob,
+  `c5` char(5) DEFAULT NULL,
+  PRIMARY KEY (`c1`)
+) ENGINE=Falcon DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (c1)
+PARTITIONS 4 */
+*** Show table on Slave ****
+SHOW CREATE TABLE t16;
+Table	Create Table
+t16	CREATE TABLE `t16` (
+  `c1` int(11) NOT NULL,
+  `c2` decimal(8,2) DEFAULT NULL,
+  `c3` text,
+  `c4` blob,
+  `c5` char(5) DEFAULT NULL,
+  `c6` int(11) DEFAULT '1',
+  `c7` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`c1`)
+) ENGINE=Falcon DEFAULT CHARSET=latin1
+/*!50100 PARTITION BY KEY (c1)
+PARTITIONS 4 */
+*** DROP TABLE t16 ***
+DROP TABLE t16;
+*** Alter Master End ***
+*** Create t17 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t17 (a SMALLINT, b INT PRIMARY KEY, c CHAR(5),
+d FLOAT DEFAULT '2.00',
+e CHAR(5) DEFAULT 'TEST2')
+ENGINE='Falcon';
+*** Create t17 on Master ***
+CREATE TABLE t17 (a BIGINT PRIMARY KEY, b INT, c CHAR(10)
+) ENGINE='Falcon';
+RESET MASTER;
+*** Start Slave ***
+START SLAVE;
+*** Master Data Insert ***
+INSERT INTO t17 () VALUES(9223372036854775807,2,'Kyle, TEX');
+********************************************
+*** Expect slave to fail with Error 1522 ***
+********************************************
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	#
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1535
+Last_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1535
+Last_SQL_Error	Table definition on master and slave does not match: Column 0 type mismatch - received type 8, test.t17 has type 2
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+** DROP table t17 ***
+DROP TABLE t17;

=== added file 'mysql-test/suite/rpl/r/rpl_extraColmaster_falcon.result'
--- a/mysql-test/suite/rpl/r/rpl_extraColmaster_falcon.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/r/rpl_extraColmaster_falcon.result	2008-11-17 10:57:50 +0000
@@ -0,0 +1,1144 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+
+***********************************************************
+***********************************************************
+***************** Start of Testing ************************
+***********************************************************
+***********************************************************
+* This test format == binlog_format	ROW and engine == 'Falcon'
+***********************************************************
+***********************************************************
+
+***** Testing more columns on the Master *****
+
+CREATE TABLE t1 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
+/* extra */
+f5 FLOAT DEFAULT '2.00', 
+f6 CHAR(4) DEFAULT 'TEST',
+f7 INT DEFAULT '0',
+f8 TEXT,
+f9 LONGBLOB,
+f10 BIT(63),
+f11 VARBINARY(64))ENGINE='Falcon';
+
+* Alter Table on Slave and drop columns f5 through f11 *
+
+alter table t1 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
+
+* Insert data in Master then update and delete some rows*
+
+* Select count and 20 rows from Master *
+
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+40
+
+SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,
+hex(f10),hex(f11) FROM t1 ORDER BY f3 LIMIT 20;
+f1	f2	f3	f4	f5	f6	f7	f8	f9	hex(f10)	hex(f11)
+2	2	2	second	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+3	3	3	next	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+5	5	5	second	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+6	6	6	next	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+8	8	8	second	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+9	9	9	next	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+11	11	11	second	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+12	12	12	next	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+14	14	14	second	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+15	15	15	next	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+17	17	17	second	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+18	18	18	next	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+20	20	20	second	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+21	21	21	next	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+23	23	23	second	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+24	24	24	next	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+26	26	26	second	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+27	27	27	next	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+29	29	29	second	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+30	30	30	next	2	kaks	2	got stolen from the paradise	very fat blob	1555	123456
+
+* Select count and 20 rows from Slave *
+
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+40
+
+SELECT * FROM t1 ORDER BY f3 LIMIT 20;
+f1	f2	f3	f4
+2	2	2	second
+3	3	3	next
+5	5	5	second
+6	6	6	next
+8	8	8	second
+9	9	9	next
+11	11	11	second
+12	12	12	next
+14	14	14	second
+15	15	15	next
+17	17	17	second
+18	18	18	next
+20	20	20	second
+21	21	21	next
+23	23	23	second
+24	24	24	next
+26	26	26	second
+27	27	27	next
+29	29	29	second
+30	30	30	next
+
+* Show Slave Status *
+
+show slave status;;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	Yes
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	0
+Last_SQL_Error	
+
+
+***** Testing Altering table def scenario *****
+
+CREATE TABLE t2 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
+/* extra */
+f5 DOUBLE DEFAULT '2.00', 
+f6 ENUM('a', 'b', 'c') default 'a',
+f7 DECIMAL(17,9) default '1000.00',
+f8 MEDIUMBLOB,
+f9 NUMERIC(6,4) default '2000.00',
+f10 VARCHAR(1024),
+f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
+f12 SET('a', 'b', 'c') default 'b')
+ENGINE='Falcon';
+Warnings:
+Warning	1264	Out of range value for column 'f9' at row 1
+
+CREATE TABLE t3 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
+/* extra */
+f5 DOUBLE DEFAULT '2.00', 
+f6 ENUM('a', 'b', 'c') default 'a',
+f8 MEDIUMBLOB,
+f10 VARCHAR(1024),
+f11 BINARY(20) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
+f12 SET('a', 'b', 'c') default 'b')
+ENGINE='Falcon';
+
+CREATE TABLE t4 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
+/* extra */
+f5 DOUBLE DEFAULT '2.00', 
+f6 DECIMAL(17,9) default '1000.00',
+f7 MEDIUMBLOB,
+f8 NUMERIC(6,4) default '2000.00',
+f9 VARCHAR(1024),
+f10 BINARY(20) not null default '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',
+f11 CHAR(255))
+ENGINE='Falcon';
+Warnings:
+Warning	1264	Out of range value for column 'f8' at row 1
+
+CREATE TABLE t31 (f1 INT, f2 INT, f3 INT PRIMARY KEY, f4 CHAR(20),
+/* extra */
+f5  BIGINT,
+f6  BLOB,
+f7  DATE,
+f8  DATETIME,
+f9  FLOAT,
+f10 INT,
+f11 LONGBLOB,
+f12 LONGTEXT,
+f13 MEDIUMBLOB,
+f14 MEDIUMINT,
+f15 MEDIUMTEXT,
+f16 REAL,
+f17 SMALLINT,
+f18 TEXT,
+f19 TIME,
+f20 TIMESTAMP,
+f21 TINYBLOB,
+f22 TINYINT,
+f23 TINYTEXT,
+f24 YEAR,
+f25 BINARY(255),
+f26 BIT(64),
+f27 CHAR(255),
+f28 DECIMAL(30,7),
+f29 DOUBLE,
+f30 ENUM ('a','b', 'c') default 'a',
+f31 FLOAT,
+f32 NUMERIC(17,9),
+f33 SET ('a', 'b', 'c') default 'b',
+f34 VARBINARY(1025),
+f35 VARCHAR(257)       
+) ENGINE='Falcon';
+
+** Alter tables on slave and drop columns **
+
+alter table t2 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11, drop
+f12;
+alter table t3 drop f5, drop f6, drop f8, drop f10, drop f11, drop f12;
+alter table t4 drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11;
+alter table t31 
+drop f5, drop f6, drop f7, drop f8, drop f9, drop f10, drop f11,
+drop f12, drop f13, drop f14, drop f15, drop f16, drop f17, drop f18,
+drop f19, drop f20, drop f21, drop f22, drop f23, drop f24, drop f25,
+drop f26, drop f27, drop f28, drop f29, drop f30, drop f31, drop f32,
+drop f33, drop f34, drop f35;
+
+** Insert Data into Master **
+INSERT into t2 set f1=1, f2=1, f3=1, f4='first', f8='f8: medium size blob', f10='f10:
+some var char';
+INSERT into t2 values (2, 2, 2, 'second',
+2.0, 'b', 2000.0002, 'f8: medium size blob', 2000, 'f10: some var char',
+'01234567', 'c'),
+(3, 3, 3, 'third',
+3.0, 'b', 3000.0003, 'f8: medium size blob', 3000, 'f10: some var char',
+'01234567', 'c');
+Warnings:
+Warning	1264	Out of range value for column 'f9' at row 1
+Warning	1264	Out of range value for column 'f9' at row 2
+INSERT into t3 set f1=1, f2=1, f3=1, f4='first', f10='f10: some var char';
+INSERT into t4 set f1=1, f2=1, f3=1, f4='first', f7='f7: medium size blob', f10='f10:
+binary data';
+INSERT into t31 set f1=1, f2=1, f3=1, f4='first';
+INSERT into t31 set f1=1, f2=1, f3=2, f4='second',
+f9=2.2,  f10='seven samurai', f28=222.222, f35='222';
+Warnings:
+Warning	1366	Incorrect integer value: 'seven samurai' for column 'f10' at row 1
+INSERT into t31 values (1, 1, 3, 'third',
+/* f5  BIGINT,  */            333333333333333333333333,
+/* f6  BLOB,  */              '3333333333333333333333',
+/* f7  DATE,  */              '2007-07-18',
+/* f8  DATETIME,  */          "2007-07-18",
+/* f9  FLOAT,  */             3.33333333,
+/* f10 INT,  */               333333333,
+/* f11 LONGBLOB,  */          '3333333333333333333',
+/* f12 LONGTEXT,  */          '3333333333333333333',
+/* f13 MEDIUMBLOB,  */        '3333333333333333333',
+/* f14 MEDIUMINT,  */         33,
+/* f15 MEDIUMTEXT,  */        3.3,
+/* f16 REAL,  */              3.3,
+/* f17 SMALLINT,  */          3,
+/* f18 TEXT,  */              '33',
+/* f19 TIME,  */              '2:59:58.999',
+/* f20 TIMESTAMP,  */         20000303000000,
+/* f21 TINYBLOB,  */          '3333',
+/* f22 TINYINT,  */           3,
+/* f23 TINYTEXT,  */          '3',
+/* f24 YEAR,  */              3000,
+/* f25 BINARY(255),  */       'three_33333',
+/* f26 BIT(64),  */           b'011', 
+/* f27 CHAR(255),  */         'three',
+/* f28 DECIMAL(30,7),  */     3.333,
+/* f29 DOUBLE,  */            3.333333333333333333333333333,
+/* f30 ENUM ('a','b','c')*/   'c',
+/* f31 FLOAT,  */             3.0,
+/* f32 NUMERIC(17,9),  */     3.3333,
+/* f33 SET ('a','b','c'),*/   'c',
+/*f34 VARBINARY(1025),*/      '3333 minus 3',
+/*f35 VARCHAR(257),*/         'three times three'
+      );
+Warnings:
+Warning	1264	Out of range value for column 'f5' at row 1
+Warning	1264	Out of range value for column 'f24' at row 1
+INSERT into t31 values (1, 1, 4, 'fourth',
+/* f5  BIGINT,  */            333333333333333333333333,
+/* f6  BLOB,  */              '3333333333333333333333',
+/* f7  DATE,  */              '2007-07-18',
+/* f8  DATETIME,  */          "2007-07-18",
+/* f9  FLOAT,  */             3.33333333,
+/* f10 INT,  */               333333333,
+/* f11 LONGBLOB,  */          '3333333333333333333',
+/* f12 LONGTEXT,  */          '3333333333333333333',
+/* f13 MEDIUMBLOB,  */        '3333333333333333333',
+/* f14 MEDIUMINT,  */         33,
+/* f15 MEDIUMTEXT,  */        3.3,
+/* f16 REAL,  */              3.3,
+/* f17 SMALLINT,  */          3,
+/* f18 TEXT,  */              '33',
+/* f19 TIME,  */              '2:59:58.999',
+/* f20 TIMESTAMP,  */         20000303000000,
+/* f21 TINYBLOB,  */          '3333',
+/* f22 TINYINT,  */           3,
+/* f23 TINYTEXT,  */          '3',
+/* f24 YEAR,  */              3000,
+/* f25 BINARY(255),  */       'three_33333',
+/* f26 BIT(64),  */           b'011',
+/* f27 CHAR(255),  */         'three',
+/* f28 DECIMAL(30,7),  */     3.333,
+/* f29 DOUBLE,  */            3.333333333333333333333333333,
+/* f30 ENUM ('a','b','c')*/   'c',
+/* f31 FLOAT,  */             3.0,
+/* f32 NUMERIC(17,9),  */     3.3333,
+/* f33 SET ('a','b','c'),*/   'c',
+/*f34 VARBINARY(1025),*/      '3333 minus 3',
+/*f35 VARCHAR(257),*/         'three times three'
+       ),
+(1, 1, 5, 'fifth',
+/* f5  BIGINT,  */            333333333333333333333333,
+/* f6  BLOB,  */              '3333333333333333333333',
+/* f7  DATE,  */              '2007-07-18',
+/* f8  DATETIME,  */          "2007-07-18",
+/* f9  FLOAT,  */             3.33333333,
+/* f10 INT,  */               333333333,
+/* f11 LONGBLOB,  */          '3333333333333333333',
+/* f12 LONGTEXT,  */          '3333333333333333333',
+/* f13 MEDIUMBLOB,  */        '3333333333333333333',
+/* f14 MEDIUMINT,  */         33,
+/* f15 MEDIUMTEXT,  */        3.3,
+/* f16 REAL,  */              3.3,
+/* f17 SMALLINT,  */          3,
+/* f18 TEXT,  */              '33',
+/* f19 TIME,  */              '2:59:58.999',
+/* f20 TIMESTAMP,  */         20000303000000,
+/* f21 TINYBLOB,  */          '3333',
+/* f22 TINYINT,  */           3,
+/* f23 TINYTEXT,  */          '3',
+/* f24 YEAR,  */              3000,
+/* f25 BINARY(255),  */       'three_33333',
+/* f26 BIT(64),  */           b'011',
+/* f27 CHAR(255),  */         'three',
+/* f28 DECIMAL(30,7),  */     3.333,
+/* f29 DOUBLE,  */            3.333333333333333333333333333,
+/* f30 ENUM ('a','b','c')*/   'c',
+/* f31 FLOAT,  */             3.0,
+/* f32 NUMERIC(17,9),  */     3.3333,
+/* f33 SET ('a','b','c'),*/   'c',
+/*f34 VARBINARY(1025),*/      '3333 minus 3',
+/*f35 VARCHAR(257),*/         'three times three'
+       ),
+(1, 1, 6, 'sixth',
+/* f5  BIGINT,  */            NULL,
+/* f6  BLOB,  */              '3333333333333333333333',
+/* f7  DATE,  */              '2007-07-18',
+/* f8  DATETIME,  */          "2007-07-18",
+/* f9  FLOAT,  */             3.33333333,
+/* f10 INT,  */               333333333,
+/* f11 LONGBLOB,  */          '3333333333333333333',
+/* f12 LONGTEXT,  */          '3333333333333333333',
+/* f13 MEDIUMBLOB,  */        '3333333333333333333',
+/* f14 MEDIUMINT,  */         33,
+/* f15 MEDIUMTEXT,  */        3.3,
+/* f16 REAL,  */              3.3,
+/* f17 SMALLINT,  */          3,
+/* f18 TEXT,  */              '33',
+/* f19 TIME,  */              '2:59:58.999',
+/* f20 TIMESTAMP,  */         20000303000000,
+/* f21 TINYBLOB,  */          '3333',
+/* f22 TINYINT,  */           3,
+/* f23 TINYTEXT,  */          '3',
+/* f24 YEAR,  */              3000,
+/* f25 BINARY(255),  */       'three_33333',
+/* f26 BIT(64),  */           b'011',
+/* f27 CHAR(255),  */         'three',
+/* f28 DECIMAL(30,7),  */     3.333,
+/* f29 DOUBLE,  */            3.333333333333333333333333333,
+/* f30 ENUM ('a','b','c')*/   'c',
+/* f31 FLOAT,  */             3.0,
+/* f32 NUMERIC(17,9),  */     3.3333,
+/* f33 SET ('a','b','c'),*/   'c',
+/*f34 VARBINARY(1025),*/      '3333 minus 3',
+/*f35 VARCHAR(257),*/         NULL
+);
+Warnings:
+Warning	1264	Out of range value for column 'f5' at row 1
+Warning	1264	Out of range value for column 'f24' at row 1
+Warning	1264	Out of range value for column 'f5' at row 2
+Warning	1264	Out of range value for column 'f24' at row 2
+Warning	1264	Out of range value for column 'f24' at row 3
+
+** Sync slave with master ** 
+** Do selects from tables **
+
+select * from t1 order by f3;
+f1	f2	f3	f4
+2	2	2	second
+3	3	3	next
+5	5	5	second
+6	6	6	next
+8	8	8	second
+9	9	9	next
+11	11	11	second
+12	12	12	next
+14	14	14	second
+15	15	15	next
+17	17	17	second
+18	18	18	next
+20	20	20	second
+21	21	21	next
+23	23	23	second
+24	24	24	next
+26	26	26	second
+27	27	27	next
+29	29	29	second
+30	30	30	next
+31	31	31	second
+32	32	32	second
+33	33	33	second
+34	34	34	second
+35	35	35	second
+36	36	36	second
+37	37	37	second
+38	38	38	second
+39	39	39	second
+40	40	40	second
+41	41	41	second
+42	42	42	second
+43	43	43	second
+44	44	44	second
+45	45	45	second
+46	46	46	second
+47	47	47	second
+48	48	48	second
+49	49	49	second
+50	50	50	second
+select * from t2 order by f1;
+f1	f2	f3	f4
+1	1	1	first
+2	2	2	second
+3	3	3	third
+select * from t3 order by f1;
+f1	f2	f3	f4
+1	1	1	first
+select * from t4 order by f1;
+f1	f2	f3	f4
+1	1	1	first
+select * from t31 order by f3;
+f1	f2	f3	f4
+1	1	1	first
+1	1	2	second
+1	1	3	third
+1	1	4	fourth
+1	1	5	fifth
+1	1	6	sixth
+
+** Do updates master **
+
+update t31 set f5=555555555555555 where f3=6;
+update t31 set f2=2 where f3=2;
+update t31 set f1=NULL where f3=1;
+update t31 set f3=0, f27=NULL, f35='f35 new value' where f3=3;
+
+** Delete from Master **
+
+delete from t1;
+delete from t2;
+delete from t3;
+delete from t4;
+delete from t31;
+
+** Check slave status **
+
+select * from t31;
+f1	f2	f3	f4
+show slave status;;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	Yes
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	0
+Last_SQL_Error	
+
+****************************************
+* columns in master at middle of table *
+* Expect: Proper error message         *
+****************************************
+
+** Stop and Reset Slave **
+
+STOP SLAVE;
+RESET SLAVE;
+
+** create table slave side **
+CREATE TABLE t10 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
+) ENGINE='Falcon';
+
+** Connect to master and create table **
+
+CREATE TABLE t10 (a INT KEY, b BLOB, f DOUBLE DEFAULT '233',
+c CHAR(5), e INT DEFAULT '1')ENGINE='Falcon';
+RESET MASTER;
+
+*** Start Slave ***
+START SLAVE;
+
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t10 () VALUES(1,@b1,DEFAULT,'Kyle',DEFAULT),
+(2,@b1,DEFAULT,'JOE',DEFAULT),
+(3,@b1,DEFAULT,'QA',DEFAULT);
+
+********************************************
+*** Expect slave to fail with Error 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1535
+Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1535
+Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 5, test.t10 has type 254
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** Drop t10  ***
+DROP TABLE t10;
+
+*********************************************
+* More columns in master at middle of table *
+* Expect: Proper error message              *
+*********************************************
+
+*** Create t11 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t11 (a INT PRIMARY KEY, b BLOB, c VARCHAR(254)
+) ENGINE='Falcon';
+
+*** Create t11 on Master ***
+CREATE TABLE t11 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='Falcon';
+RESET MASTER;
+
+*** Start Slave ***
+START SLAVE;
+
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t11 () VALUES(1,@b1,'Testing is fun','Kyle',DEFAULT),
+(2,@b1,'Testing is cool','JOE',DEFAULT),
+(3,@b1,DEFAULT,'QA',DEFAULT);
+
+********************************************
+*** Expect slave to fail with Error 1523 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1535
+Last_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1535
+Last_SQL_Error	Table definition on master and slave does not match: Column 2 type mismatch - received type 252, test.t11 has type 15
+SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
+START SLAVE;
+
+*** Drop t11  ***
+DROP TABLE t11;
+
+*********************************************
+* More columns in master at middle of table *
+* Expect: This one should pass blob-text    *
+*********************************************
+
+*** Create t12 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t12 (a INT PRIMARY KEY, b BLOB, c BLOB
+) ENGINE='Falcon';
+
+*** Create t12 on Master ***
+CREATE TABLE t12 (a INT KEY, b BLOB, f TEXT,
+c CHAR(5) DEFAULT 'test', e INT DEFAULT '1')ENGINE='Falcon';
+RESET MASTER;
+
+*** Start Slave ***
+START SLAVE;
+
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t12 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
+(2,@b1,'JOE',DEFAULT,DEFAULT),
+(3,@b1,'QA',DEFAULT,DEFAULT);
+
+SELECT a,hex(b),f,c,e FROM t12 ORDER BY a;
+a	hex(b)	f	c	e
+1	62316231623162316231623162316231	Kyle	test	1
+2	62316231623162316231623162316231	JOE	test	1
+3	62316231623162316231623162316231	QA	test	1
+
+*** Select on Slave ***
+SELECT a,hex(b),c FROM t12 ORDER BY a;
+a	hex(b)	c
+1	62316231623162316231623162316231	Kyle
+2	62316231623162316231623162316231	JOE
+3	62316231623162316231623162316231	QA
+
+*** Drop t12  ***
+DROP TABLE t12;
+
+****************************************************
+* - Alter Master adding columns at middle of table *
+*   Expect: columns added                          *
+****************************************************
+
+
+*** Create t14 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t14 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+) ENGINE='Falcon';
+
+*** Create t14 on Master ***
+CREATE TABLE t14 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 INT DEFAULT '1',
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='Falcon';
+RESET MASTER;
+
+*** Start Slave ***
+START SLAVE;
+
+*** Master Data Insert ***
+ALTER TABLE t14 ADD COLUMN c2 DECIMAL(8,2) AFTER c1;
+ALTER TABLE t14 ADD COLUMN c3 TEXT AFTER c2;
+
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t14 () VALUES(1,1.00,'Replication Testing Extra Col',@b1,'Kyle',DEFAULT,DEFAULT),
+(2,2.00,'This Test Should work',@b1,'JOE',DEFAULT,DEFAULT),
+(3,3.00,'If is does not, I will open a bug',@b1,'QA',DEFAULT,DEFAULT);
+
+SELECT c1,c2,c3,hex(c4),c5,c6,c7 FROM t14 ORDER BY c1;
+c1	c2	c3	hex(c4)	c5	c6	c7
+1	1.00	Replication Testing Extra Col	62316231623162316231623162316231	Kyle	1	CURRENT_TIMESTAMP
+2	2.00	This Test Should work	62316231623162316231623162316231	JOE	1	CURRENT_TIMESTAMP
+3	3.00	If is does not, I will open a bug	62316231623162316231623162316231	QA	1	CURRENT_TIMESTAMP
+
+*** Select on Slave ****
+SELECT c1,c2,c3,hex(c4),c5 FROM t14 ORDER BY c1;
+c1	c2	c3	hex(c4)	c5
+1	1.00	Replication Testing Extra Col	62316231623162316231623162316231	Kyle
+2	2.00	This Test Should work	62316231623162316231623162316231	JOE
+3	3.00	If is does not, I will open a bug	62316231623162316231623162316231	QA
+
+****************************************************
+* - Alter Master Dropping columns from the middle. *
+*   Expect: columns dropped                        *
+****************************************************
+
+*** connect to master and drop columns ***
+ALTER TABLE t14 DROP COLUMN c2;
+ALTER TABLE t14 DROP COLUMN c7;
+
+*** Select from Master ***
+SELECT c1,c3,hex(c4),c5,c6 FROM t14 ORDER BY c1;
+c1	c3	hex(c4)	c5	c6
+1	Replication Testing Extra Col	62316231623162316231623162316231	Kyle	1
+2	This Test Should work	62316231623162316231623162316231	JOE	1
+3	If is does not, I will open a bug	62316231623162316231623162316231	QA	1
+
+************
+* Bug30415 *
+************
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1091
+Last_Error	Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1091
+Last_SQL_Error	Error 'Can't DROP 'c7'; check that column/key exists' on query. Default database: 'test'. Query: 'ALTER TABLE t14 DROP COLUMN c7'
+STOP SLAVE;
+RESET SLAVE;
+
+*** Drop t14  ***
+DROP TABLE t14;
+DROP TABLE t14;
+RESET MASTER;
+START SLAVE;
+
+*************************************************
+* - Alter Master adding columns at end of table *
+*   Expect: Error 1054                          *
+*************************************************
+
+*** Create t15 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t15 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+) ENGINE='Falcon';
+
+*** Create t15 on Master ***
+CREATE TABLE t15 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 INT DEFAULT '1',
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='Falcon';
+RESET MASTER;
+
+*** Start Slave ***
+START SLAVE;
+
+*** Master Data Insert ***
+ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7;
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t15 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT,3.00),
+(2,@b1,'JOE',DEFAULT,DEFAULT,3.00),
+(3,@b1,'QA',DEFAULT,DEFAULT,3.00);
+SELECT c1,hex(c4),c5,c6,c7,c2 FROM t15 ORDER BY c1;
+c1	hex(c4)	c5	c6	c7	c2
+1	62316231623162316231623162316231	Kyle	1	CURRENT_TIMESTAMP	3.00
+2	62316231623162316231623162316231	JOE	1	CURRENT_TIMESTAMP	3.00
+3	62316231623162316231623162316231	QA	1	CURRENT_TIMESTAMP	3.00
+
+********************************************
+*** Expect slave to fail with Error 1054 ***
+********************************************
+
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1054
+Last_Error	Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1054
+Last_SQL_Error	Error 'Unknown column 'c7' in 't15'' on query. Default database: 'test'. Query: 'ALTER TABLE t15 ADD COLUMN c2 DECIMAL(8,2) AFTER c7'
+STOP SLAVE;
+RESET SLAVE;
+
+*** Drop t15  ***
+DROP TABLE t15;
+DROP TABLE t15;
+RESET MASTER;
+START SLAVE;
+
+************************************************
+* - Create index on Master column not on slave *
+*   Expect:Warning                             *
+************************************************
+
+*** Create t16 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t16 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+) ENGINE='Falcon';
+
+*** Create t16 on Master ***
+CREATE TABLE t16 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 INT DEFAULT '1',
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='Falcon';
+RESET MASTER;
+
+*** Start Slave ***
+START SLAVE;
+
+*** Master Create Index and Data Insert ***
+CREATE INDEX part_of_c6 ON t16 (c6);
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t16 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
+(2,@b1,'JOE',2,DEFAULT),
+(3,@b1,'QA',3,DEFAULT);
+SELECT c1,hex(c4),c5,c6,c7 FROM t16 ORDER BY c1;
+c1	hex(c4)	c5	c6	c7
+1	62316231623162316231623162316231	Kyle	1	CURRENT_TIMESTAMP
+2	62316231623162316231623162316231	JOE	2	CURRENT_TIMESTAMP
+3	62316231623162316231623162316231	QA	3	CURRENT_TIMESTAMP
+
+*****************
+*** BUG 30434 ***
+*****************
+
+SHOW SLAVE STATUS;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	#
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	No
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	1072
+Last_Error	Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	#
+Last_IO_Error	#
+Last_SQL_Errno	1072
+Last_SQL_Error	Error 'Key column 'c6' doesn't exist in table' on query. Default database: 'test'. Query: 'CREATE INDEX part_of_c6 ON t16 (c6)'
+STOP SLAVE;
+RESET SLAVE;
+
+*** Drop t16  ***
+DROP TABLE t16;
+DROP TABLE t16;
+RESET MASTER;
+START SLAVE;
+
+*****************************************************
+* - Delete rows using column on Master not on slave *
+*   Expect: Rows Deleted                            *
+*****************************************************
+
+*** Create t17 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t17 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+) ENGINE='Falcon';
+
+*** Create t17 on Master ***
+CREATE TABLE t17 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 INT DEFAULT '1',
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='Falcon';
+RESET MASTER;
+
+*** Start Slave ***
+START SLAVE;
+
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t17 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
+(2,@b1,'JOE',2,DEFAULT),
+(3,@b1,'QA',3,DEFAULT);
+SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
+c1	hex(c4)	c5	c6	c7
+1	62316231623162316231623162316231	Kyle	1	CURRENT_TIMESTAMP
+2	62316231623162316231623162316231	JOE	2	CURRENT_TIMESTAMP
+3	62316231623162316231623162316231	QA	3	CURRENT_TIMESTAMP
+
+** Select * from Slave **
+SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
+c1	hex(c4)	c5
+1	62316231623162316231623162316231	Kyle
+2	62316231623162316231623162316231	JOE
+3	62316231623162316231623162316231	QA
+
+** Delete from master **
+DELETE FROM t17 WHERE c6 = 3;
+SELECT c1,hex(c4),c5,c6,c7 FROM t17 ORDER BY c1;
+c1	hex(c4)	c5	c6	c7
+1	62316231623162316231623162316231	Kyle	1	CURRENT_TIMESTAMP
+2	62316231623162316231623162316231	JOE	2	CURRENT_TIMESTAMP
+
+** Check slave **
+SELECT c1,hex(c4),c5 FROM t17 ORDER BY c1;
+c1	hex(c4)	c5
+1	62316231623162316231623162316231	Kyle
+2	62316231623162316231623162316231	JOE
+DROP TABLE t17;
+
+
+*****************************************************
+* - Update row using column on Master not on slave *
+*   Expect: Rows updated                           *
+*****************************************************
+
+** Bug30674 **
+
+*** Create t18 on slave  ***
+
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t18 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+) ENGINE='Falcon';
+
+*** Create t18 on Master ***
+CREATE TABLE t18 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 INT DEFAULT '1',
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='Falcon';
+RESET MASTER;
+
+*** Start Slave ***
+START SLAVE;
+
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+set @b1 = concat(@b1,@b1);
+INSERT INTO t18 () VALUES(1,@b1,'Kyle',DEFAULT,DEFAULT),
+(2,@b1,'JOE',2,DEFAULT),
+(3,@b1,'QA',3,DEFAULT);
+SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
+c1	hex(c4)	c5	c6	c7
+1	62316231623162316231623162316231	Kyle	1	CURRENT_TIMESTAMP
+2	62316231623162316231623162316231	JOE	2	CURRENT_TIMESTAMP
+3	62316231623162316231623162316231	QA	3	CURRENT_TIMESTAMP
+
+** Select * from Slave **
+SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
+c1	hex(c4)	c5
+1	62316231623162316231623162316231	Kyle
+2	62316231623162316231623162316231	JOE
+3	62316231623162316231623162316231	QA
+
+** update from master **
+UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3;
+SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1;
+c1	hex(c4)	c5	c6	c7
+1	62316231623162316231623162316231	Kyle	1	CURRENT_TIMESTAMP
+2	62316231623162316231623162316231	JOE	2	CURRENT_TIMESTAMP
+3	62316231623162316231623162316231	TEST	3	CURRENT_TIMESTAMP
+
+** Check slave **
+SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1;
+c1	hex(c4)	c5
+1	62316231623162316231623162316231	Kyle
+2	62316231623162316231623162316231	JOE
+3	62316231623162316231623162316231	TEST
+DROP TABLE t18;
+
+
+*****************************************************
+* - Insert UUID  column on Master not on slave *
+*   Expect: Rows inserted                      *
+*****************************************************
+
+*** Create t5 on slave  ***
+STOP SLAVE;
+RESET SLAVE;
+CREATE TABLE t5 (c1 INT PRIMARY KEY, c4 BLOB, c5 CHAR(5)
+) ENGINE='Falcon';
+
+*** Create t5 on Master ***
+CREATE TABLE t5 (c1 INT KEY, c4 BLOB, c5 CHAR(5),
+c6 LONG, 
+c7 TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP
+)ENGINE='Falcon';
+RESET MASTER;
+
+*** Start Slave ***
+START SLAVE;
+
+*** Master Data Insert ***
+set @b1 = 'b1b1b1b1';
+INSERT INTO t5 () VALUES(1,@b1,'Kyle',UUID(),DEFAULT),
+(2,@b1,'JOE',UUID(),DEFAULT),
+(3,@b1,'QA',UUID(),DEFAULT);
+SELECT c1,hex(c4),c5,c6,c7 FROM t5 ORDER BY c1;
+c1	hex(c4)	c5	c6	c7
+1	6231623162316231	Kyle	UUID	TIME
+2	6231623162316231	JOE	UUID	TIME
+3	6231623162316231	QA	UUID	TIME
+
+** Select * from Slave **
+SELECT c1,hex(c4),c5 FROM t5 ORDER BY c1;
+c1	hex(c4)	c5
+1	6231623162316231	Kyle
+2	6231623162316231	JOE
+3	6231623162316231	QA
+DROP TABLE t5;
+

=== added file 'mysql-test/suite/rpl/r/rpl_locktrans_falcon.result'
--- a/mysql-test/suite/rpl/r/rpl_locktrans_falcon.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/r/rpl_locktrans_falcon.result	2008-11-17 10:57:50 +0000
@@ -0,0 +1,439 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+DROP DATABASE  IF EXISTS mysqltest;
+DROP TABLE     IF EXISTS t1, t2, t3, t4, v1;
+DROP VIEW      IF EXISTS t1, t2, t3, t4, v1;
+DROP PROCEDURE IF EXISTS lock_t1_excl;
+DROP PROCEDURE IF EXISTS count_t2;
+DROP PROCEDURE IF EXISTS update_t2;
+DROP TRIGGER   IF EXISTS t1_ai;
+#
+# WL3561 - transactional LOCK TABLE - Syntax tests
+# ================================================
+CREATE TABLE t1 (c1 INT ) ENGINE=Falcon;
+CREATE TABLE t2 (c2 INT ) ENGINE=Falcon;
+CREATE TABLE t3 (c3 INT ) ENGINE=Falcon;
+#
+# Valid syntax for non-transactional locks.
+LOCK TABLE t1 READ, t2 WRITE;
+UNLOCK TABLES;
+LOCK TABLE t1 READ LOCAL, t2 LOW_PRIORITY WRITE;
+UNLOCK TABLES;
+#
+# Valid syntax for transactional locks.
+LOCK TABLE t1 IN SHARE MODE, t2 IN EXCLUSIVE MODE;
+Warnings:
+Warning	1621	Converted to non-transactional lock on 't1'
+Warning	1621	Converted to non-transactional lock on 't2'
+UNLOCK TABLES;
+#
+# Valid syntax for aliases with and without 'AS'.
+LOCK TABLE t1 AS a1 READ, t2 a2 WRITE;
+UNLOCK TABLES;
+LOCK TABLE t1 AS a1 IN SHARE MODE, t2 a2 IN EXCLUSIVE MODE;
+Warnings:
+Warning	1621	Converted to non-transactional lock on 'a1'
+Warning	1621	Converted to non-transactional lock on 'a2'
+UNLOCK TABLES;
+#
+# Transactional locks taken on a view.
+CREATE VIEW v1 AS SELECT * FROM t1, t2 WHERE t1.c1 = t2.c2;
+LOCK TABLE v1 IN SHARE MODE;
+Warnings:
+Warning	1621	Converted to non-transactional lock on 't1'
+Warning	1621	Converted to non-transactional lock on 't2'
+LOCK TABLE v1 IN EXCLUSIVE MODE;
+Warnings:
+Warning	1621	Converted to non-transactional lock on 'v1'
+UNLOCK TABLES;
+DROP VIEW v1;
+#
+# Locking INFORMATION_SCHEMA fails on missing privileges.
+LOCK TABLE information_schema.tables IN SHARE MODE;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+LOCK TABLE information_schema.tables IN EXCLUSIVE MODE;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+LOCK TABLE information_schema.tables READ;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+LOCK TABLE information_schema.tables WRITE;
+ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_schema'
+#
+# The new keywords EXCLUSIVE and NOWAIT are not reserved words.
+CREATE TABLE t4 (exclusive INT, nowait INT) ENGINE=Falcon;
+LOCK TABLE t4 WRITE;
+DROP TABLE t4;
+#
+# Syntax errors for misspelled modes or left out symbols.
+##-------------------------------------------------------
+LOCK TABLE t1 IN SHARED MODE;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SHARED MODE' at line 1
+LOCK TABLE t1 SHARE MODE;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MODE' at line 1
+LOCK TABLE t1 IN SHARE;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
+LOCK TABLE t1 IN MODE;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MODE' at line 1
+LOCK TABLE t1 READ NOWAIT, t2 WRITE NOWAIT;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOWAIT, t2 WRITE NOWAIT' at line 1
+LOCK TABLE t1 READ NOWAIT, t2 IN EXCLUSIVE MODE NOWAIT;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOWAIT, t2 IN EXCLUSIVE MODE NOWAIT' at line 1
+LOCK TABLE t1 IN SHARE MODE NOWAIT, t2 WRITE NOWAIT;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOWAIT' at line 1
+LOCK TABLE t1 IN SHARED MODE NOWAIT;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SHARED MODE NOWAIT' at line 1
+LOCK TABLE t1 SHARE MODE NOWAIT;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MODE NOWAIT' at line 1
+LOCK TABLE t1 IN SHARE NOWAIT;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOWAIT' at line 1
+LOCK TABLE t1 IN MODE NOWAIT;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MODE NOWAIT' at line 1
+##----------------------
+## End of syntax errors.
+#
+#
+# WL3561 - transactional LOCK TABLE - Lock method conversion
+# ==========================================================
+#
+# Implicit lock method conversion due to mix in statement.
+LOCK TABLE t1 READ, t2 IN EXCLUSIVE MODE;
+Warnings:
+Warning	1621	Converted to non-transactional lock on 't2'
+UNLOCK TABLES;
+# Lock t1 share (converted to read), t2 write.
+LOCK TABLE t1 IN SHARE MODE, t2 WRITE;
+Warnings:
+Warning	1621	Converted to non-transactional lock on 't1'
+# Show t1 is read locked, t2 write locked.
+INSERT INTO t1 SELECT * FROM t2;
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+INSERT INTO t2 SELECT * FROM t1;
+#
+# Implicit lock method conversion due to existing non-transact. locks.
+# Implicitly unlock existing non-transactional locks and take new ones.
+# Lock t1 exclusive (converted to write), t2 share (converted to read).
+LOCK TABLE t1 IN EXCLUSIVE MODE, t2 IN SHARE MODE;
+Warnings:
+Warning	1621	Converted to non-transactional lock on 't1'
+Warning	1621	Converted to non-transactional lock on 't2'
+# Show t1 is write locked, t2 read locked.
+INSERT INTO t1 SELECT * FROM t2;
+INSERT INTO t2 SELECT * FROM t1;
+ERROR HY000: Table 't2' was locked with a READ lock and can't be updated
+UNLOCK TABLES;
+#
+# Reject lock method conversion in strict mode.
+# Set strict mode.
+SET @wl3561_save_sql_mode= @@SQL_MODE;
+SET @@SQL_MODE= 'STRICT_ALL_TABLES';
+# Try mixed mode locks.
+LOCK TABLE t1 READ, t2 IN EXCLUSIVE MODE;
+ERROR HY000: Cannot convert to non-transactional lock in strict mode on 't2'
+LOCK TABLE t1 IN SHARE MODE, t2 WRITE;
+ERROR HY000: Cannot convert to non-transactional lock in strict mode on 't1'
+# Lock non-transactional.
+LOCK TABLE t1 READ, t2 WRITE;
+# Try transactional locks on top of the existing non-transactional locks.
+LOCK TABLE t1 IN SHARE MODE, t2 IN EXCLUSIVE MODE;
+ERROR HY000: Cannot convert to non-transactional lock in strict mode on 't1'
+## Error is reported on first table only. Show both errors:
+SHOW WARNINGS;
+Level	Code	Message
+Error	1622	Cannot convert to non-transactional lock in strict mode on 't1'
+Error	1622	Cannot convert to non-transactional lock in strict mode on 't2'
+UNLOCK TABLES;
+SET @@SQL_MODE= @wl3561_save_sql_mode;
+#
+# Reject lock method conversion in an active transaction.
+# Start transaction.
+START TRANSACTION;
+# Try mixed mode locks.
+LOCK TABLE t1 READ, t2 IN EXCLUSIVE MODE;
+ERROR HY000: Cannot convert to non-transactional lock in an active transaction on 't2'
+LOCK TABLE t1 IN SHARE MODE, t2 WRITE;
+ERROR HY000: Cannot convert to non-transactional lock in an active transaction on 't1'
+COMMIT;
+#
+# Implicit lock method conversion for non-transactional storage engine.
+# Create a non-transactional table.
+CREATE TABLE t4 (c4 INT) ENGINE= MyISAM;
+# Request a transactional lock, which is converted to non-transactional.
+LOCK TABLE t4 IN SHARE MODE;
+Warnings:
+Warning	1621	Converted to non-transactional lock on 't4'
+# Try a conflict with the existing non-transactional lock.
+INSERT INTO t4 VALUES(444);
+ERROR HY000: Table 't4' was locked with a READ lock and can't be updated
+UNLOCK TABLES;
+# Set strict mode.
+SET @@SQL_MODE= 'STRICT_ALL_TABLES';
+# Try a transactional lock, which would need a conversion.
+LOCK TABLE t4 IN SHARE MODE;
+ERROR HY000: Cannot convert to non-transactional lock in strict mode on 't4'
+SET @@SQL_MODE= @wl3561_save_sql_mode;
+#
+# View with transactional and non-transactional storage engine.
+CREATE VIEW v1 AS SELECT * FROM t3, t4 WHERE t3.c3 = t4.c4;
+# Request a share lock on the view, which is converted to read locks.
+LOCK TABLE v1 IN SHARE MODE;
+Warnings:
+Warning	1621	Converted to non-transactional lock on 't3'
+Warning	1621	Converted to non-transactional lock on 't4'
+# Show that read locks on the base tables prohibit writing ...
+INSERT INTO t3 SELECT * FROM t4;
+ERROR HY000: Table 't3' was locked with a READ lock and can't be updated
+INSERT INTO t4 SELECT * FROM t3;
+ERROR HY000: Table 't4' was locked with a READ lock and can't be updated
+# ... but allow reading.
+SELECT COUNT(*) FROM t3, t4 WHERE t3.c3 = t4.c4;
+COUNT(*)
+0
+SELECT COUNT(*) FROM v1;
+COUNT(*)
+0
+## Report conversion on view due to existing non-transactional locks.
+LOCK TABLE v1 IN EXCLUSIVE MODE;
+Warnings:
+Warning	1621	Converted to non-transactional lock on 'v1'
+INSERT INTO t3 VALUES(333);
+INSERT INTO t4 VALUES(444);
+INSERT INTO t1 VALUES(111);
+ERROR HY000: Table 't1' was not locked with LOCK TABLES
+UNLOCK TABLES;
+## Now report conversion on base table again.
+LOCK TABLE v1 IN EXCLUSIVE MODE;
+Warnings:
+Warning	1621	Converted to non-transactional lock on 't3'
+Warning	1621	Converted to non-transactional lock on 't4'
+INSERT INTO t3 VALUES(333);
+INSERT INTO t4 VALUES(444);
+INSERT INTO t1 VALUES(111);
+ERROR HY000: Table 't1' was not locked with LOCK TABLES
+UNLOCK TABLES;
+DROP VIEW v1;
+TRUNCATE t4;
+#
+# Insufficient privileges do not unlock tables nor end transactions.
+# Prepare database, tables and an user with insufficient privileges.
+# Make a new connection with this user.
+CREATE DATABASE mysqltest;
+CREATE TABLE mysqltest.t5 (c5 INT) ENGINE=Falcon;
+CREATE TABLE mysqltest.t6 (c6 INT) ENGINE=Falcon;
+CREATE USER mysqltest_1@localhost;
+GRANT SELECT, INSERT ON mysqltest.* TO mysqltest_1@localhost;
+# connection conn1.
+# Show sufficient privileges to lock tables in the test database.
+LOCK TABLE t1 READ, t2 WRITE;
+# Show insufficient privileges in the mysqltest database.
+LOCK TABLE mysqltest.t5 READ, mysqltest.t6 WRITE;
+ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'mysqltest'
+# Show that the locks in 'test' still exist.
+INSERT INTO t1 SELECT * FROM t2;
+ERROR HY000: Table 't1' was locked with a READ lock and can't be updated
+INSERT INTO t2 SELECT * FROM t1;
+# Unlock tables.
+UNLOCK TABLES;
+# Start transaction.
+START TRANSACTION;
+# Insert a value.
+INSERT INTO t1 VALUES(111);
+# Try a lock that fails on privileges.
+LOCK TABLE mysqltest.t5 READ;
+ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'mysqltest'
+# Rollback transaction.
+ROLLBACK;
+# Show that the inserted value has gone.
+SELECT * FROM t1;
+c1
+# Drop the connection with the unprivileged user.
+# connection default.
+#
+# Sufficient privileges do unlock tables and end transactions.
+# Grant sufficient privileges to the user.
+# Make a new connection with this user.
+GRANT SELECT, INSERT, LOCK TABLES ON mysqltest.* TO mysqltest_1@localhost;
+# connection conn1.
+# Lock tables in the test database.
+LOCK TABLE t1 READ, t2 WRITE;
+# Lock tables in the mysqltest database.
+LOCK TABLE mysqltest.t5 READ, mysqltest.t6 WRITE;
+# Show that the locks in 'test' have been replaced ...
+INSERT INTO t1 SELECT * FROM t2;
+ERROR HY000: Table 't1' was not locked with LOCK TABLES
+INSERT INTO t2 SELECT * FROM t1;
+ERROR HY000: Table 't2' was not locked with LOCK TABLES
+# ... by the locks in 'mysqltest'.
+INSERT INTO mysqltest.t5 SELECT * FROM mysqltest.t6;
+ERROR HY000: Table 't5' was locked with a READ lock and can't be updated
+INSERT INTO mysqltest.t6 SELECT * FROM mysqltest.t5;
+# Unlock tables.
+UNLOCK TABLES;
+# Start transaction.
+START TRANSACTION;
+# Insert a value.
+INSERT INTO t1 VALUES(111);
+# Take a new lock.
+LOCK TABLE mysqltest.t5 READ;
+# Rollback transaction.
+ROLLBACK;
+UNLOCK TABLES;
+# Show that the inserted value had been committed.
+SELECT * FROM t1;
+c1
+111
+TRUNCATE t1;
+# connection default.
+UNLOCK TABLES;
+DROP USER mysqltest_1@localhost;
+DROP DATABASE mysqltest;
+DROP TABLE t1, t2, t3, t4;
+#
+# WL3594 - transactional LOCK TABLE Testing - Functional tests
+# ============================================================
+# Prepare tables and connections.
+# Set AUTOCOMMIT= 0 in each connection.
+SET AUTOCOMMIT= 0;
+CREATE TABLE t1 (c1 INT) ENGINE=Falcon;
+CREATE TABLE t2 (c2 INT) ENGINE=Falcon;
+# connection conn1.
+SET AUTOCOMMIT= 0;
+# connection conn2.
+SET AUTOCOMMIT= 0;
+# connection default.
+#
+# Normal WRITE locks go before readers (autocommit).
+# Set AUTOCOMMIT= 1.
+SET AUTOCOMMIT= 1;
+# Insert a value.
+INSERT INTO t1 VALUES(111);
+# Take a non-transactional lock.
+LOCK TABLE t1 READ;
+# connection conn1.
+# Set AUTOCOMMIT= 1.
+SET AUTOCOMMIT= 1;
+# Take a non-transactional WRITE lock,
+# which waits in background until first read lock is released.
+LOCK TABLE t1 WRITE;
+# connection default.
+# Wait for the helper thread to sit on its lock.
+# connection conn2.
+# Set AUTOCOMMIT= 1.
+SET AUTOCOMMIT= 1;
+# Take a non-transactional READ lock,
+# which waits in background until the WRITE lock is released.
+LOCK TABLE t1 READ;
+# connection default.
+# Wait for the helper threads to sit on their locks.
+# Unlock this connections non-transactional lock.
+UNLOCK TABLES;
+# connection conn1.
+# Now the WRITE lock is taken.
+# Insert a value.
+INSERT INTO t1 VALUES(1111);
+# Unlock table.
+UNLOCK TABLES;
+# connection conn2.
+# Now the READ lock is taken.
+# Select from the table.
+SELECT * FROM t1;
+c1
+111
+1111
+# Unlock table.
+UNLOCK TABLES;
+# connection default.
+TRUNCATE t1;
+#
+# LOW_PRIORITY WRITE locks wait for readers (autocommit).
+# Insert a value.
+INSERT INTO t1 VALUES(111);
+# Take a non-transactional lock.
+LOCK TABLE t1 READ;
+# connection conn1.
+# Take a non-transactional LOW_PRIORITY WRITE lock,
+# which waits in background until all read locks are released.
+LOCK TABLE t1 LOW_PRIORITY WRITE;
+# connection default.
+# Wait for the helper thread to sit on its lock.
+# connection conn2.
+# Take a non-transactional READ lock,
+# which goes before the LOW_PRIORITY WRITE lock.
+LOCK TABLE t1 READ;
+# The READ lock could be taken immediately.
+# Select from the table.
+SELECT * FROM t1;
+c1
+111
+# Unlock table.
+UNLOCK TABLES;
+SET AUTOCOMMIT= 0;
+# connection default.
+# Unlock this connections non-transactional lock.
+UNLOCK TABLES;
+# connection conn1.
+# Now the LOW_PRIORITY WRITE lock is taken.
+# Insert a value.
+INSERT INTO t1 VALUES(1111);
+# Unlock table.
+UNLOCK TABLES;
+SET AUTOCOMMIT= 0;
+# connection default.
+TRUNCATE t1;
+SET AUTOCOMMIT= 0;
+COMMIT;
+#
+# LOCK TABLE is prohibited in stored procedure.
+CREATE PROCEDURE lock_t1_excl()
+LOCK TABLE t1 IN EXCLUSIVE MODE;
+ERROR 0A000: LOCK is not allowed in stored procedures
+#
+# LOCK TABLE is prohibited in trigger.
+CREATE TRIGGER t1_ai AFTER INSERT ON t1 FOR EACH ROW
+LOCK TABLE t2 IN EXCLUSIVE MODE;
+ERROR 0A000: LOCK is not allowed in stored procedures
+## Cleanup.
+SET AUTOCOMMIT= 1;
+UNLOCK TABLES;
+DROP TABLE t1, t2;
+show slave status;;
+Slave_IO_State	#
+Master_Host	127.0.0.1
+Master_User	root
+Master_Port	MASTER_PORT
+Connect_Retry	1
+Master_Log_File	master-bin.000001
+Read_Master_Log_Pos	#
+Relay_Log_File	#
+Relay_Log_Pos	#
+Relay_Master_Log_File	master-bin.000001
+Slave_IO_Running	Yes
+Slave_SQL_Running	Yes
+Replicate_Do_DB	
+Replicate_Ignore_DB	
+Replicate_Do_Table	
+Replicate_Ignore_Table	
+Replicate_Wild_Do_Table	
+Replicate_Wild_Ignore_Table	
+Last_Errno	0
+Last_Error	
+Skip_Counter	0
+Exec_Master_Log_Pos	#
+Relay_Log_Space	#
+Until_Condition	None
+Until_Log_File	
+Until_Log_Pos	0
+Master_SSL_Allowed	No
+Master_SSL_CA_File	
+Master_SSL_CA_Path	
+Master_SSL_Cert	
+Master_SSL_Cipher	
+Master_SSL_Key	
+Seconds_Behind_Master	#
+Master_SSL_Verify_Server_Cert	No
+Last_IO_Errno	0
+Last_IO_Error	
+Last_SQL_Errno	0
+Last_SQL_Error	

=== added file 'mysql-test/suite/rpl/r/rpl_relay_space_falcon.result'
--- a/mysql-test/suite/rpl/r/rpl_relay_space_falcon.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/r/rpl_relay_space_falcon.result	2008-11-17 10:57:50 +0000
@@ -0,0 +1,25 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+SHOW VARIABLES LIKE 'relay_log_space_limit';
+Variable_name	Value
+relay_log_space_limit	0
+CREATE TABLE t1 (name varchar(64), age smallint(3))ENGINE=Falcon;
+INSERT INTO t1 SET name='Andy', age=31;
+INSERT INTO t1 SET name='Jacob', age=2;
+INSERT INTO t1 SET name='Caleb', age=1;
+ALTER TABLE t1 ADD id int(8) ZEROFILL AUTO_INCREMENT PRIMARY KEY;
+SELECT * FROM t1 ORDER BY id;
+name	age	id
+Andy	31	00000001
+Jacob	2	00000002
+Caleb	1	00000003
+SELECT * FROM t1 ORDER BY id;
+name	age	id
+Andy	31	00000001
+Jacob	2	00000002
+Caleb	1	00000003
+DROP TABLE t1;

=== added file 'mysql-test/suite/rpl/r/rpl_row_blob_falcon.result'
--- a/mysql-test/suite/rpl/r/rpl_row_blob_falcon.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_blob_falcon.result	2008-11-17 10:57:50 +0000
@@ -0,0 +1,156 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+DROP TABLE IF EXISTS test.t1;
+DROP TABLE IF EXISTS test.t2;
+*****  Table Create Section ****
+
+CREATE TABLE test.t1 (c1 int not null auto_increment, 
+data LONGBLOB, PRIMARY KEY(c1))ENGINE=#;
+
+**** Data Insert Section test.t1 *****
+
+INSERT INTO test.t1 VALUES (NULL, NULL);
+INSERT INTO test.t1 VALUES (NULL, repeat('a',1*1024));
+INSERT INTO test.t1 VALUES (NULL, repeat('b',16*1024));
+
+**** Data Insert Validation Master Section test.t1 ****
+
+SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1;
+LENGTH(data)
+NULL
+SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2;
+LENGTH(data)
+1024
+SELECT LENGTH(data) FROM test.t1 WHERE c1 = 3;
+LENGTH(data)
+16384
+
+**** Data Insert Validation Slave Section test.t1 ****
+
+SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1;
+LENGTH(data)
+NULL
+SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2;
+LENGTH(data)
+1024
+SELECT LENGTH(data) FROM test.t1 WHERE c1 = 3;
+LENGTH(data)
+16384
+
+**** Data Update Section test.t1 ****
+
+UPDATE test.t1 set data=repeat('a',18*1024) where c1 = 1;
+UPDATE t1 set data=repeat('c',17*1024) where c1 = 2;
+
+**** Data Update Validation Master Section test.t1 ****
+
+SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1;
+LENGTH(data)
+18432
+SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2;
+LENGTH(data)
+17408
+
+**** Data Update Validation Slave Section test.t1 ****
+
+SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1;
+LENGTH(data)
+18432
+SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2;
+LENGTH(data)
+17408
+
+**** End Test Section test.t1 ****
+
+**** Create Table test.t2 ****
+
+CREATE TABLE test.t2 (
+c1 INT NOT NULL PRIMARY KEY,
+c2 TEXT,
+c3 INT,
+c4 LONGBLOB,
+KEY(c3))ENGINE=#;
+
+*** Setup Values For test.t2 ***
+set @x0 = '01234567012345670123456701234567';
+set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0);
+set @b1 = 'b1';
+set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
+set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
+set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1);
+set @b1 = concat(@b1,@x0);
+set @d1 = 'dd1';
+set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
+set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
+set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1);
+set @b2 = 'b2';
+set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
+set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
+set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
+set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2);
+set @d2 = 'dd2';
+set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
+set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
+set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
+set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2);
+
+**** Data Insert Section test.t2 *****
+
+INSERT INTO test.t2 VALUES(1,@b1,111,@d1);
+INSERT INTO test.t2 VALUES(2,@b2,222,@d2);
+
+**** Data Insert Validation Master Section test.t2 ****
+
+SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
+FROM test.t2 WHERE c1=1;
+c1	LENGTH(c2)	SUBSTR(c2,1+2*900,2)	LENGTH(c4)	SUBSTR(c4,1+3*900,3)
+1	2256	b1	3000	dd1
+SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
+FROM test.t2 WHERE c1=2;
+c1	LENGTH(c2)	SUBSTR(c2,1+2*900,2)	LENGTH(c4)	SUBSTR(c4,1+3*900,3)
+2	20000	b2	30000	dd2
+
+**** Data Insert Validation Slave Section test.t2 ****
+
+SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
+FROM test.t2 WHERE c1=1;
+c1	LENGTH(c2)	SUBSTR(c2,1+2*900,2)	LENGTH(c4)	SUBSTR(c4,1+3*900,3)
+1	2256	b1	3000	dd1
+SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
+FROM test.t2 WHERE c1=2;
+c1	LENGTH(c2)	SUBSTR(c2,1+2*900,2)	LENGTH(c4)	SUBSTR(c4,1+3*900,3)
+2	20000	b2	30000	dd2
+
+**** Data Update Section test.t2 ****
+
+UPDATE test.t2 SET c2=@b2, c4=@d2 WHERE c1=1;
+UPDATE test.t2 SET c2=@b1, c4=@d1 WHERE c1=2;
+
+**** Data Update Validation Master Section test.t2 ****
+
+SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
+FROM test.t2 WHERE c1=1;
+c1	LENGTH(c2)	SUBSTR(c2,1+2*900,2)	LENGTH(c4)	SUBSTR(c4,1+3*900,3)
+1	20000	b2	30000	dd2
+SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
+FROM test.t2 WHERE c1=2;
+c1	LENGTH(c2)	SUBSTR(c2,1+2*900,2)	LENGTH(c4)	SUBSTR(c4,1+3*900,3)
+2	2256	b1	3000	dd1
+
+**** Data Update Validation Slave Section test.t2 ****
+
+SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
+FROM test.t2 WHERE c1=1;
+c1	LENGTH(c2)	SUBSTR(c2,1+2*900,2)	LENGTH(c4)	SUBSTR(c4,1+3*900,3)
+1	20000	b2	30000	dd2
+SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
+FROM test.t2 WHERE c1=2;
+c1	LENGTH(c2)	SUBSTR(c2,1+2*900,2)	LENGTH(c4)	SUBSTR(c4,1+3*900,3)
+2	2256	b1	3000	dd1
+
+DROP TABLE IF EXISTS test.t1;
+DROP TABLE IF EXISTS test.t2;

=== added file 'mysql-test/suite/rpl/r/rpl_truncate_falcon.result'
--- a/mysql-test/suite/rpl/r/rpl_truncate_falcon.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/r/rpl_truncate_falcon.result	2008-11-17 10:57:50 +0000
@@ -0,0 +1,94 @@
+stop slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+reset master;
+reset slave;
+drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
+start slave;
+STOP SLAVE;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
+**** On Master ****
+SET SESSION BINLOG_FORMAT=ROW;
+SET GLOBAL  BINLOG_FORMAT=ROW;
+CREATE TABLE t1 (a INT, b LONG) ENGINE=Falcon;
+INSERT INTO t1 VALUES (1,1), (2,2);
+SELECT * FROM t1;
+a	b
+1	1
+2	2
+**** On Slave ****
+INSERT INTO t1 VALUE (3,3);
+SELECT * FROM t1;
+a	b
+1	1
+2	2
+3	3
+**** On Master ****
+TRUNCATE TABLE t1;
+SELECT * FROM t1;
+a	b
+**** On Slave ****
+SELECT * FROM t1;
+a	b
+**** On Master ****
+DROP TABLE t1;
+show binlog events from <binlog_start>;
+Log_name	Pos	Event_type	Server_id	End_log_pos	Info
+master-bin.000001	#	Query	#	#	use `test`; DROP TABLE IF EXISTS t1
+master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=Falcon
+master-bin.000001	#	Query	#	#	use `test`; BEGIN
+master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
+master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
+master-bin.000001	#	Query	#	#	use `test`; COMMIT
+master-bin.000001	#	Query	#	#	use `test`; BEGIN
+master-bin.000001	#	Query	#	#	use `test`; TRUNCATE TABLE t1
+master-bin.000001	#	Query	#	#	use `test`; COMMIT
+master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
+RESET MASTER;
+STOP SLAVE;
+DROP TABLE IF EXISTS t1;
+DROP TABLE IF EXISTS t1;
+RESET SLAVE;
+START SLAVE;
+**** On Master ****
+SET SESSION BINLOG_FORMAT=ROW;
+SET GLOBAL  BINLOG_FORMAT=ROW;
+CREATE TABLE t1 (a INT, b LONG) ENGINE=Falcon;
+INSERT INTO t1 VALUES (1,1), (2,2);
+SELECT * FROM t1;
+a	b
+1	1
+2	2
+**** On Slave ****
+INSERT INTO t1 VALUE (3,3);
+SELECT * FROM t1;
+a	b
+1	1
+2	2
+3	3
+**** On Master ****
+DELETE FROM t1;
+SELECT * FROM t1;
+a	b
+**** On Slave ****
+SELECT * FROM t1;
+a	b
+3	3
+**** On Master ****
+DROP TABLE t1;
+show binlog events from <binlog_start>;
+Log_name	Pos	Event_type	Server_id	End_log_pos	Info
+master-bin.000001	#	Query	#	#	use `test`; DROP TABLE IF EXISTS t1
+master-bin.000001	#	Query	#	#	use `test`; CREATE TABLE t1 (a INT, b LONG) ENGINE=Falcon
+master-bin.000001	#	Query	#	#	use `test`; BEGIN
+master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
+master-bin.000001	#	Write_rows	#	#	table_id: # flags: STMT_END_F
+master-bin.000001	#	Query	#	#	use `test`; COMMIT
+master-bin.000001	#	Query	#	#	use `test`; BEGIN
+master-bin.000001	#	Table_map	#	#	table_id: # (test.t1)
+master-bin.000001	#	Delete_rows	#	#	table_id: # flags: STMT_END_F
+master-bin.000001	#	Query	#	#	use `test`; COMMIT
+master-bin.000001	#	Query	#	#	use `test`; DROP TABLE t1
+RESET MASTER;

=== added file 'mysql-test/suite/rpl/t/rpl_extraCol_falcon.test'
--- a/mysql-test/suite/rpl/t/rpl_extraCol_falcon.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_extraCol_falcon.test	2008-11-17 10:57:50 +0000
@@ -0,0 +1,20 @@
+###################################################################
+# Purpose: To test having extra columns on the slave, using Falcon.
+# WL#3259.
+#
+# This is a test wrapper for the Falcon storage engine, using
+# the "engine independent" test rpl_extraSlave_Col in
+# mysql-test/extra/rpl_tests/.
+###################################################################
+--source include/master-slave.inc
+--source include/have_falcon.inc
+
+# Falcon does not support statement-based replication.
+# In 'mixed' mode only 'row' is used with Falcon.
+--source include/have_binlog_format_mixed_or_row.inc
+
+let $engine_type = 'Falcon';
+
+--source extra/rpl_tests/rpl_extraSlave_Col.test
+
+

=== added file 'mysql-test/suite/rpl/t/rpl_extraColmaster_falcon.test'
--- a/mysql-test/suite/rpl/t/rpl_extraColmaster_falcon.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_extraColmaster_falcon.test	2008-11-17 10:57:50 +0000
@@ -0,0 +1,22 @@
+################################################################
+# Purpose: To test having extra columns on the master. WL#3915.
+#
+# This is a test wrapper for the Falcon storage engine, using
+# the "engine independent" test rpl_extraMaster_Col in 
+# mysql-test/extra/rpl_tests/.
+################################################################
+--source include/master-slave.inc
+--source include/have_falcon.inc
+
+# Falcon does not support statement-based replication.
+# In 'mixed' mode only 'row' is used with Falcon.
+#
+# Test outputs binlog format, so let's not jump through result 
+# file hoops in order to run with different binlog formats, which
+# would be the same for Falcon anyway. Hence, we require 'row' 
+# for this test.
+--source include/have_binlog_format_row.inc
+
+let $engine_type = 'Falcon';
+
+--source extra/rpl_tests/rpl_extraMaster_Col.test

=== added file 'mysql-test/suite/rpl/t/rpl_locktrans_falcon.test'
--- a/mysql-test/suite/rpl/t/rpl_locktrans_falcon.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_locktrans_falcon.test	2008-11-17 10:57:50 +0000
@@ -0,0 +1,41 @@
+#####################################################################
+# Transactional LOCK TABLE tests.
+# Calls include/locktrans.inc.
+# Based on rpl_locktrans_{innodb,myisam}.
+#####################################################################
+
+# Transactional lock tests require multiple sessions.
+--source include/not_embedded.inc
+
+# This is a replication test.
+--source include/master-slave.inc
+
+# This is a falcon test.
+--source include/have_falcon.inc
+let $engine_type= Falcon;
+
+# Falcon does not support statement-based replication.
+# In 'mixed' mode only 'row' is used with Falcon.
+--source include/have_binlog_format_mixed_or_row.inc
+
+# Storage engine supports transactional locking?
+# According to 6.0 docs, only InnoDB supports transactional locking.
+# Falcon does not support it, see http://lists.mysql.com/falcon/179
+let $transactional= 0;
+
+# Storage engine supports the NOWAIT option?
+# According to 6.0 docs, no storage engine supports this...
+let $nowait_support= 0;
+
+# Define a storage engine that does not support transactional locking.
+let $other_non_trans_engine_type= MyISAM;
+
+# The real test
+--source include/locktrans.inc
+
+# Some post-processing (verifying slave status)
+sync_slave_with_master;
+connection slave;
+--replace_result $MASTER_MYPORT MASTER_PORT
+--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 #
+--query_vertical show slave status;

=== added file 'mysql-test/suite/rpl/t/rpl_relay_space_falcon.test'
--- a/mysql-test/suite/rpl/t/rpl_relay_space_falcon.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_relay_space_falcon.test	2008-11-17 10:57:50 +0000
@@ -0,0 +1,19 @@
+########################################################################
+# Wrapper for rpl_sv_relay_space.test.
+# This test is a wrapper for the rpl_sv_relayspace test, which is able 
+# to test multiple storage engines, in this case Falcon.
+#
+# By wrapping we are saving some space and making the test more
+# maintainable by only having one test file and reusing the code.
+# One result file per wrapper is still needed, though.
+########################################################################
+
+-- source include/not_ndb_default.inc
+-- source include/have_falcon.inc
+
+# Falcon does not support statement-based replication.
+# In 'mixed' mode only 'row' is used with Falcon.
+--source include/have_binlog_format_mixed_or_row.inc
+
+let $engine_type=Falcon;
+-- source extra/rpl_tests/rpl_sv_relay_space.test

=== added file 'mysql-test/suite/rpl/t/rpl_row_blob_falcon.test'
--- a/mysql-test/suite/rpl/t/rpl_row_blob_falcon.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_row_blob_falcon.test	2008-11-17 10:57:50 +0000
@@ -0,0 +1,20 @@
+############################################################
+# Wrapper for rpl_row_blob.test
+#
+# - By johnemb 2008-11-12:
+#    Wrapped to allow reuse of test code for different 
+#    storage engines. Following pattern already used for
+#    myisam and innodb.
+############################################################
+--source include/not_ndb_default.inc
+--source include/have_falcon.inc
+--source include/have_binlog_format_row.inc
+--source include/master-slave.inc
+
+# Set engine type. All CREATE TABLE statements must specify
+# engine, or default storage engine on slave must be 
+# specified in <test>-slave.opt file.
+
+let $engine_type=Falcon;
+--source extra/rpl_tests/rpl_row_blob.test
+

=== added file 'mysql-test/suite/rpl/t/rpl_truncate_falcon.test'
--- a/mysql-test/suite/rpl/t/rpl_truncate_falcon.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/rpl/t/rpl_truncate_falcon.test	2008-11-17 10:57:50 +0000
@@ -0,0 +1,33 @@
+#####################################################################
+# Wrapper for "engine independent" test rpl_truncate_helper.test, 
+# using the Falcon storage engine.
+#
+# This wrapper omits the "middle man" rpl_truncate.test, as that test
+# file explicitly runs rpl_truncate_helper with all 3 binlog
+# formats, and Falcon does not support 'stmt'.
+#####################################################################
+
+--source include/master-slave.inc
+--source include/have_falcon.inc
+--source include/not_ndb_default.inc
+
+# Falcon does not support statement-based replication.
+# In 'mixed' mode only 'row' is used with Falcon, so
+# we don't bother testing that here.
+--source include/have_binlog_format_row.inc
+
+let $engine=Falcon;
+
+# Truncating a table can be done in two ways. Make sure to test both:
+
+# Sourced test includes setting binlog format, so specify it here.
+# Since 'mixed' => 'row' with Falcon, we only test 'row'.
+# Also set truncate method (statement) before running test.
+
+let $format=ROW;
+let $stmt = TRUNCATE TABLE;
+--source extra/rpl_tests/rpl_truncate_helper.test
+
+let $format=ROW;
+let $stmt = DELETE FROM;
+--source extra/rpl_tests/rpl_truncate_helper.test

Thread
bzr push into mysql-6.0-falcon-team branch (john.embretsen:2914 to 2915) John H. Embretsen20 Nov