2005-12-22 06:39:02 +01:00
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;
2008-07-10 18:09:39 +02:00
include/stop_slave.inc
2005-12-22 06:39:02 +01:00
reset master;
reset slave;
2008-09-01 11:00:52 +02:00
start slave;
2006-02-08 22:26:16 +01:00
create table t1(n int not null auto_increment primary key)ENGINE=MyISAM;
2005-12-22 06:39:02 +01:00
insert into t1 values (NULL);
drop table t1;
2006-02-08 22:26:16 +01:00
create table t1 (word char(20) not null)ENGINE=MyISAM;
2007-12-20 18:38:23 +01:00
load data infile 'LOAD_FILE' into table t1 ignore 1 lines;
2005-12-22 06:39:02 +01:00
select count(*) from t1;
count(*)
69
show binlog events;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
2006-02-08 22:26:16 +01:00
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
2005-12-22 06:39:02 +01:00
master-bin.000001 # Intvar 1 # INSERT_ID=1
master-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL)
master-bin.000001 # Query 1 # use `test`; drop table t1
2006-02-08 22:26:16 +01:00
master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
2005-12-22 06:39:02 +01:00
master-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581
2009-09-28 05:41:10 -07:00
master-bin.000001 # Execute_load_query 1 # use `test`; LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES (word) ;file_id=1
2007-03-30 04:44:49 +02:00
show binlog events from 106 limit 1;
2005-12-22 06:39:02 +01:00
Log_name Pos Event_type Server_id End_log_pos Info
2006-02-08 22:26:16 +01:00
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
2007-03-30 04:44:49 +02:00
show binlog events from 106 limit 2;
2005-12-22 06:39:02 +01:00
Log_name Pos Event_type Server_id End_log_pos Info
2006-02-08 22:26:16 +01:00
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
2005-12-22 06:39:02 +01:00
master-bin.000001 # Intvar 1 # INSERT_ID=1
2007-03-30 04:44:49 +02:00
show binlog events from 106 limit 2,1;
2005-12-22 06:39:02 +01:00
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL)
flush logs;
2006-02-17 00:54:00 +01:00
create table t3 (a int)ENGINE=MyISAM;
Bug#19259 rpl_ndb_dd_partitions failed on Solaris
Actually, this testcase will fail generally on all testing platforms.
The bugs come from the inconsistent bitmap between rpl master and slave.
In log_event.cc, the n_bits of m_cols and m_cols_ai are intialized with octal-ceiling
m_width, in fact, their n_bits should be equal to m_width.
Wrong n_bits will cause bitmap_bits_set() get incorrect value in unpack_row()
in rpl_record.cc,
then an assertion in unpack_row() will fail and crash sql thread.
DBUG_ASSERT(null_ptr == row_data + master_null_byte_count);
Meanwhile, because of binlog_prepare_pending_rows_event() changed with correct
m_cols, some results of specific testcases should be updated:
binlog_multi_engine.test
ndb_binlog_multi.test
rpl_ndb_dd_partitions.test
rpl_ndb_log.test
rpl_truncate_7ndb.test
rpl_truncate_7ndb_2.test
In addition, to ensure rows replication correct between master and slave after the patch,
two 'select * from t1' are added in extra/rpl_tests/rpl_log.test, and some testcases include
rpl_log.test, therefore, the results of these testcases should be updated likewise:
rpl_stm_log.test
rpl_row_log.test
rpl_ndb_log.test
rpl_row_log_innodb.test
Totally, results of nine testcases are updated.
2007-07-12 15:19:29 +08:00
select * from t1 order by 1 asc;
word
Aarhus
Aaron
Aaron
Ababa
Ababa
aback
aback
abaft
abaft
abandon
abandon
abandoned
abandoned
abandoning
abandoning
abandonment
abandonment
abandons
abandons
abase
abased
abasement
abasements
abases
abash
abashed
abashes
abashing
abasing
abate
abated
abatement
abatements
abater
abates
abating
Abba
abbe
abbey
abbeys
abbot
abbots
Abbott
abbreviate
abbreviated
abbreviates
abbreviating
abbreviation
abbreviations
Abby
abdomen
abdomens
abdominal
abduct
abducted
abduction
abductions
abductor
abductors
abducts
Abe
abed
Abel
Abelian
Abelson
Aberdeen
Abernathy
aberrant
aberration
select * from t1 order by 1 asc;
word
Aarhus
Aaron
Aaron
Ababa
Ababa
aback
aback
abaft
abaft
abandon
abandon
abandoned
abandoned
abandoning
abandoning
abandonment
abandonment
abandons
abandons
abase
abased
abasement
abasements
abases
abash
abashed
abashes
abashing
abasing
abate
abated
abatement
abatements
abater
abates
abating
Abba
abbe
abbey
abbeys
abbot
abbots
Abbott
abbreviate
abbreviated
abbreviates
abbreviating
abbreviation
abbreviations
Abby
abdomen
abdomens
abdominal
abduct
abducted
abduction
abductions
abductor
abductors
abducts
Abe
abed
Abel
Abelian
Abelson
Aberdeen
Abernathy
aberrant
aberration
2005-12-22 06:39:02 +01:00
flush logs;
2008-07-10 18:09:39 +02:00
include/stop_slave.inc
include/start_slave.inc
2006-02-17 00:54:00 +01:00
create table t2 (n int)ENGINE=MyISAM;
insert into t2 values (1);
2007-03-30 10:27:08 +02:00
show binlog events from <binlog_start>;
2005-12-22 06:39:02 +01:00
Log_name Pos Event_type Server_id End_log_pos Info
2007-03-30 10:27:08 +02:00
master-bin.000001 # Query # # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; insert into t1 values (NULL)
master-bin.000001 # Query # # use `test`; drop table t1
master-bin.000001 # Query # # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
2008-07-29 17:36:13 +02:00
master-bin.000001 # Begin_load_query # # ;file_id=#;block_len=#
2009-09-28 05:41:10 -07:00
master-bin.000001 # Execute_load_query # # use `test`; LOAD DATA INFILE '../../std_data/words.dat' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES (word) ;file_id=#
2007-03-30 10:27:08 +02:00
master-bin.000001 # Rotate # # master-bin.000002;pos=4
2005-12-22 06:39:02 +01:00
show binlog events in 'master-bin.000002';
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
2006-02-17 00:54:00 +01:00
master-bin.000002 # Query 1 # use `test`; create table t3 (a int)ENGINE=MyISAM
master-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=MyISAM
master-bin.000002 # Query 1 # use `test`; insert into t2 values (1)
2005-12-22 06:39:02 +01:00
show binary logs;
Log_name File_size
2009-02-02 14:44:18 +03:00
master-bin.000001 #
master-bin.000002 #
2005-12-22 06:39:02 +01:00
show binary logs;
Log_name File_size
2009-02-02 14:44:18 +03:00
slave-bin.000001 #
slave-bin.000002 #
2005-12-22 06:39:02 +01:00
show binlog events in 'slave-bin.000001' from 4;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
2006-02-08 22:26:16 +01:00
slave-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=MyISAM
2005-12-22 06:39:02 +01:00
slave-bin.000001 # Intvar 1 # INSERT_ID=1
slave-bin.000001 # Query 1 # use `test`; insert into t1 values (NULL)
slave-bin.000001 # Query 1 # use `test`; drop table t1
2006-02-08 22:26:16 +01:00
slave-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=MyISAM
2005-12-22 06:39:02 +01:00
slave-bin.000001 # Begin_load_query 1 # ;file_id=1;block_len=581
2009-09-28 05:41:10 -07:00
slave-bin.000001 # Execute_load_query 1 # use `test`; LOAD DATA INFILE '../../tmp/SQL_LOAD-2-1-1.data' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES (word) ;file_id=1
2006-02-17 00:54:00 +01:00
slave-bin.000001 # Query 1 # use `test`; create table t3 (a int)ENGINE=MyISAM
2005-12-22 06:39:02 +01:00
slave-bin.000001 # Rotate 2 # slave-bin.000002;pos=4
show binlog events in 'slave-bin.000002' from 4;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000002 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
2006-02-17 00:54:00 +01:00
slave-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=MyISAM
slave-bin.000002 # Query 1 # use `test`; insert into t2 values (1)
2007-06-11 22:15:39 +02:00
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.000002
Read_Master_Log_Pos 392
Relay_Log_File #
Relay_Log_Pos #
Relay_Master_Log_File master-bin.000002
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 392
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
2005-12-22 06:39:02 +01:00
show binlog events in 'slave-bin.000005' from 4;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
2006-06-19 04:26:27 +04:00
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
2008-10-29 18:38:18 +01:00
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;
2006-06-18 14:56:35 +04:00
create table t1(a int auto_increment primary key, b int);
insert into t1 values (NULL, 1);
set insert_id=5;
insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id());
2007-03-30 10:27:08 +02:00
show binlog events from <binlog_start>;
2006-06-18 14:56:35 +04:00
Log_name Pos Event_type Server_id End_log_pos Info
2008-10-29 18:38:18 +01:00
master-bin.000001 # Query # # use `test`; create table t1(a int auto_increment primary key, b int)
master-bin.000001 # Intvar # # INSERT_ID=1
master-bin.000001 # Query # # use `test`; insert into t1 values (NULL, 1)
2007-03-30 10:27:08 +02:00
master-bin.000001 # Intvar # # LAST_INSERT_ID=1
master-bin.000001 # Intvar # # INSERT_ID=5
master-bin.000001 # Query # # use `test`; insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id())
2006-06-18 14:56:35 +04:00
select * from t1;
a b
1 1
5 1
6 1
drop table t1;