Commit 987b67cd authored by hezx@mail.hezx.com's avatar hezx@mail.hezx.com
Browse files

Merge mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/5.0

into  mail.hezx.com:/media/sda3/work/mysql/bkwork/bug#32205/mysql-5.0-rpl
parents f858fe10 72676b22
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -530,6 +530,12 @@ typedef int (*qsort2_cmp)(const void *, const void *, const void *);
#define my_b_tell(info) ((info)->pos_in_file + \
			 (uint) (*(info)->current_pos - (info)->request_pos))

#define my_b_get_buffer_start(info) (info)->request_pos 
#define my_b_get_bytes_in_buffer(info) (char*) (info)->read_end -   \
  (char*) my_b_get_buffer_start(info)
#define my_b_get_pos_in_file(info) (info)->pos_in_file


/* tell write offset in the SEQ_APPEND cache */
my_off_t my_b_append_tell(IO_CACHE* info);
my_off_t my_b_safe_tell(IO_CACHE* info); /* picks the correct tell() */
+44 −37
Original line number Diff line number Diff line
@@ -100,9 +100,10 @@ insert into t1 values(9);
insert into t2 select * from t1;
show binlog events from 98;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	98	Query	1	#	use `test`; insert into t1 values(9)
master-bin.000001	185	Xid	1	#	COMMIT /* XID */
master-bin.000001	212	Query	1	#	use `test`; insert into t2 select * from t1
master-bin.000001	98	Query	1	#	use `test`; BEGIN
master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(9)
master-bin.000001	253	Xid	1	#	COMMIT /* XID */
master-bin.000001	280	Query	1	#	use `test`; insert into t2 select * from t1
delete from t1;
delete from t2;
reset master;
@@ -111,19 +112,21 @@ begin;
insert into t2 select * from t1;
show binlog events from 98;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	98	Query	1	#	use `test`; insert into t1 values(10)
master-bin.000001	186	Xid	1	#	COMMIT /* XID */
master-bin.000001	213	Query	1	#	use `test`; insert into t2 select * from t1
master-bin.000001	98	Query	1	#	use `test`; BEGIN
master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(10)
master-bin.000001	254	Xid	1	#	COMMIT /* XID */
master-bin.000001	281	Query	1	#	use `test`; insert into t2 select * from t1
insert into t1 values(11);
commit;
show binlog events from 98;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	98	Query	1	#	use `test`; insert into t1 values(10)
master-bin.000001	186	Xid	1	#	COMMIT /* XID */
master-bin.000001	213	Query	1	#	use `test`; insert into t2 select * from t1
master-bin.000001	307	Query	1	#	use `test`; BEGIN
master-bin.000001	375	Query	1	#	use `test`; insert into t1 values(11)
master-bin.000001	463	Xid	1	#	COMMIT /* XID */
master-bin.000001	98	Query	1	#	use `test`; BEGIN
master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(10)
master-bin.000001	254	Xid	1	#	COMMIT /* XID */
master-bin.000001	281	Query	1	#	use `test`; insert into t2 select * from t1
master-bin.000001	375	Query	1	#	use `test`; BEGIN
master-bin.000001	443	Query	1	#	use `test`; insert into t1 values(11)
master-bin.000001	531	Xid	1	#	COMMIT /* XID */
alter table t2 engine=INNODB;
delete from t1;
delete from t2;
@@ -235,25 +238,29 @@ master-bin.000001 98 Query 1 # use `test`; BEGIN
master-bin.000001	166	Query	1	#	use `test`; insert into t1 values(16)
master-bin.000001	254	Query	1	#	use `test`; insert into t1 values(18)
master-bin.000001	342	Xid	1	#	COMMIT /* XID */
master-bin.000001	369	Query	1	#	use `test`; delete from t1
master-bin.000001	446	Xid	1	#	COMMIT /* XID */
master-bin.000001	473	Query	1	#	use `test`; delete from t2
master-bin.000001	550	Xid	1	#	COMMIT /* XID */
master-bin.000001	577	Query	1	#	use `test`; alter table t2 type=MyISAM
master-bin.000001	666	Query	1	#	use `test`; insert into t1 values (1)
master-bin.000001	754	Xid	1	#	COMMIT /* XID */
master-bin.000001	781	Query	1	#	use `test`; insert into t2 values (20)
master-bin.000001	870	Query	1	#	use `test`; drop table t1,t2
master-bin.000001	949	Query	1	#	use `test`; create temporary table ti (a int) engine=innodb
master-bin.000001	1059	Query	1	#	use `test`; insert into ti values(1)
master-bin.000001	1146	Xid	1	#	COMMIT /* XID */
master-bin.000001	1173	Query	1	#	use `test`; create temporary table t1 (a int) engine=myisam
master-bin.000001	1283	Query	1	#	use `test`; insert t1 values (1)
master-bin.000001	1366	Query	1	#	use `test`; create table t0 (n int)
master-bin.000001	1452	Query	1	#	use `test`; insert t0 select * from t1
master-bin.000001	1541	Query	1	#	use `test`; insert into t0 select GET_LOCK("lock1",null)
master-bin.000001	1648	Query	1	#	use `test`; create table t2 (n int) engine=innodb
master-bin.000001	1748	Query	1	#	use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `test`.`t1`,`test`.`ti`
master-bin.000001	369	Query	1	#	use `test`; BEGIN
master-bin.000001	437	Query	1	#	use `test`; delete from t1
master-bin.000001	514	Xid	1	#	COMMIT /* XID */
master-bin.000001	541	Query	1	#	use `test`; BEGIN
master-bin.000001	609	Query	1	#	use `test`; delete from t2
master-bin.000001	686	Xid	1	#	COMMIT /* XID */
master-bin.000001	713	Query	1	#	use `test`; alter table t2 type=MyISAM
master-bin.000001	802	Query	1	#	use `test`; BEGIN
master-bin.000001	870	Query	1	#	use `test`; insert into t1 values (1)
master-bin.000001	958	Xid	1	#	COMMIT /* XID */
master-bin.000001	985	Query	1	#	use `test`; insert into t2 values (20)
master-bin.000001	1074	Query	1	#	use `test`; drop table t1,t2
master-bin.000001	1153	Query	1	#	use `test`; create temporary table ti (a int) engine=innodb
master-bin.000001	1263	Query	1	#	use `test`; BEGIN
master-bin.000001	1331	Query	1	#	use `test`; insert into ti values(1)
master-bin.000001	1418	Xid	1	#	COMMIT /* XID */
master-bin.000001	1445	Query	1	#	use `test`; create temporary table t1 (a int) engine=myisam
master-bin.000001	1555	Query	1	#	use `test`; insert t1 values (1)
master-bin.000001	1638	Query	1	#	use `test`; create table t0 (n int)
master-bin.000001	1724	Query	1	#	use `test`; insert t0 select * from t1
master-bin.000001	1813	Query	1	#	use `test`; insert into t0 select GET_LOCK("lock1",null)
master-bin.000001	1920	Query	1	#	use `test`; create table t2 (n int) engine=innodb
master-bin.000001	2020	Query	1	#	use `test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `test`.`t1`,`test`.`ti`
do release_lock("lock1");
drop table t0,t2;
reset master;
@@ -402,7 +409,7 @@ insert into t2 values (bug27417(1));
ERROR 23000: Duplicate entry '1' for key 1
show master status /* the offset must denote there is the query */;
File	Position	Binlog_Do_DB	Binlog_Ignore_DB
master-bin.000001	267		
master-bin.000001	335		
select count(*) from t1 /* must be 1 */;
count(*)
1
@@ -414,7 +421,7 @@ insert into t2 select bug27417(1) union select bug27417(2);
ERROR 23000: Duplicate entry '2' for key 1
show master status /* the offset must denote there is the query */;
File	Position	Binlog_Do_DB	Binlog_Ignore_DB
master-bin.000001	290		
master-bin.000001	358		
select count(*) from t1 /* must be 2 */;
count(*)
2
@@ -438,7 +445,7 @@ UPDATE t4,t3 SET t4.a=t3.a + bug27417(1) /* top level non-ta table */;
ERROR 23000: Duplicate entry '2' for key 1
show master status /* the offset must denote there is the query */;
File	Position	Binlog_Do_DB	Binlog_Ignore_DB
master-bin.000001	301		
master-bin.000001	369		
select count(*) from t1 /* must be 4 */;
count(*)
4
@@ -466,7 +473,7 @@ delete from t2;
ERROR 23000: Duplicate entry '1' for key 1
show master status /* the offset must denote there is the query */;
File	Position	Binlog_Do_DB	Binlog_Ignore_DB
master-bin.000001	246		
master-bin.000001	314		
select count(*) from t1 /* must be 1 */;
count(*)
1
@@ -483,7 +490,7 @@ delete t2.* from t2,t5 where t2.a=t5.a + 1;
ERROR 23000: Duplicate entry '1' for key 1
show master status /* the offset must denote there is the query */;
File	Position	Binlog_Do_DB	Binlog_Ignore_DB
master-bin.000001	274		
master-bin.000001	342		
select count(*) from t1 /* must be 1 */;
count(*)
1
@@ -501,7 +508,7 @@ count(*)
2
show master status /* the offset must denote there is the query */;
File	Position	Binlog_Do_DB	Binlog_Ignore_DB
master-bin.000001	376		
master-bin.000001	444		
drop trigger trg_del_t2;
drop table t1,t2,t3,t4,t5;
drop function bug27417;
+2 −2
Original line number Diff line number Diff line
@@ -545,7 +545,7 @@ a b
4	4
show master status /* there must be the UPDATE query event */;
File	Position	Binlog_Do_DB	Binlog_Ignore_DB
master-bin.000001	260		
master-bin.000001	328		
delete from t1;
delete from t2;
insert into t1 values (1,2),(3,4),(4,4);
@@ -555,7 +555,7 @@ UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
ERROR 23000: Duplicate entry '4' for key 1
show master status /* there must be the UPDATE query event */;
File	Position	Binlog_Do_DB	Binlog_Ignore_DB
master-bin.000001	275		
master-bin.000001	343		
drop table t1, t2;
drop table if exists t1, t2, t3;
CREATE TABLE t1 (a int, PRIMARY KEY (a));
+28 −0
Original line number Diff line number Diff line
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;
create table t2 (id int not null primary key auto_increment);
select @@session.read_buffer_size - @@session.max_allowed_packet > 0 ;
@@session.read_buffer_size - @@session.max_allowed_packet > 0
1
load data infile 'MYSQLTEST_VARDIR/tmp/bug30435_5k.txt' into table t2;
select count(*) from t2 /* 5 000 */;
count(*)
5000
show binlog events in 'master-bin.000002' from 98;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000002	98	Query	1	#	use `test`; create table t2 (id int not null primary key auto_increment)
master-bin.000002	221	Begin_load_query	1	#	;file_id=1;block_len=7168
master-bin.000002	7412	Append_block	1	#	;file_id=1;block_len=7168
master-bin.000002	14603	Append_block	1	#	;file_id=1;block_len=2048
master-bin.000002	16674	Append_block	1	#	;file_id=1;block_len=7168
master-bin.000002	23865	Append_block	1	#	;file_id=1;block_len=341
master-bin.000002	24229	Execute_load_query	1	#	use `test`; load data infile 'MYSQLTEST_VARDIR/tmp/bug30435_5k.txt' into table t2 ;file_id=1
select count(*) from t2 /* 5 000 */;
count(*)
5000
drop table t1, t2;
end of the tests
+34 −0
Original line number Diff line number Diff line
set global server_id=1;
reset master;
drop table if exists t1,t2,t3;
create table t1 (a int);
select @@server_id;
@@server_id
1
show binlog events from <binlog_start>;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	#	Query	1	#	use `test`; drop table if exists t1,t2,t3
master-bin.000001	#	Query	1	#	use `test`; create table t1 (a int)
set global server_id=2;
create table t2 (b int);
select @@server_id;
@@server_id
2
show binlog events from <binlog_start>;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	#	Query	1	#	use `test`; drop table if exists t1,t2,t3
master-bin.000001	#	Query	1	#	use `test`; create table t1 (a int)
master-bin.000001	#	Query	2	#	use `test`; create table t2 (b int)
set global server_id=3;
create table t3 (c int);
select @@server_id;
@@server_id
3
show binlog events from <binlog_start>;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	#	Query	1	#	use `test`; drop table if exists t1,t2,t3
master-bin.000001	#	Query	1	#	use `test`; create table t1 (a int)
master-bin.000001	#	Query	2	#	use `test`; create table t2 (b int)
master-bin.000001	#	Query	3	#	use `test`; create table t3 (c int)
set global server_id=1;
drop table t1,t2,t3;
Loading