Commit e89870f1 authored by unknown's avatar unknown

Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new

into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new

parents 88a59c50 a4f610f5
...@@ -29,12 +29,6 @@ select inserts,updates,deletes from ...@@ -29,12 +29,6 @@ select inserts,updates,deletes from
cluster.binlog_index where epoch > @max_epoch and updates > 0; cluster.binlog_index where epoch > @max_epoch and updates > 0;
inserts updates deletes inserts updates deletes
2 1 1 2 1 1
select schemaops from
cluster.binlog_index where epoch > @max_epoch and schemaops > 0;
schemaops
1
1
1
flush logs; flush logs;
purge master logs before now(); purge master logs before now();
select count(*) from cluster.binlog_index; select count(*) from cluster.binlog_index;
...@@ -55,8 +49,3 @@ select inserts,updates,deletes from ...@@ -55,8 +49,3 @@ select inserts,updates,deletes from
cluster.binlog_index where epoch > @max_epoch and inserts > 0; cluster.binlog_index where epoch > @max_epoch and inserts > 0;
inserts updates deletes inserts updates deletes
2 0 0 2 0 0
select schemaops from
cluster.binlog_index where epoch > @max_epoch and schemaops > 0;
schemaops
1
1
...@@ -23,10 +23,6 @@ reset master; ...@@ -23,10 +23,6 @@ reset master;
alter table t2 add column (b int); alter table t2 add column (b int);
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # cluster.apply_status
master-bin1.000001 # Write_rows # #
master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # use `test`; alter table t2 add column (b int) master-bin1.000001 # Query # # use `test`; alter table t2 add column (b int)
reset master; reset master;
reset master; reset master;
...@@ -35,10 +31,6 @@ drop table mysqltest.t1; ...@@ -35,10 +31,6 @@ drop table mysqltest.t1;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # ALTER DATABASE mysqltest CHARACTER SET latin1 master-bin.000001 # Query # # ALTER DATABASE mysqltest CHARACTER SET latin1
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # cluster.apply_status
master-bin.000001 # Write_rows # #
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `mysqltest`; drop table `t1` master-bin.000001 # Query # # use `mysqltest`; drop table `t1`
reset master; reset master;
reset master; reset master;
...@@ -49,10 +41,10 @@ create table t1 (a int primary key) engine=ndb; ...@@ -49,10 +41,10 @@ create table t1 (a int primary key) engine=ndb;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin1.000001 # Query # # BEGIN master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # cluster.apply_status master-bin1.000001 # Table_map # # table_id: # (test.t2)
master-bin1.000001 # Write_rows # # master-bin1.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin1.000001 # Table_map # # test.t2 master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # drop database mysqltest master-bin1.000001 # Query # # drop database mysqltest
master-bin1.000001 # Query # # use `test`; create table t1 (a int primary key) engine=ndb master-bin1.000001 # Query # # use `test`; create table t1 (a int primary key) engine=ndb
...@@ -118,10 +110,6 @@ master-bin1.000001 # Query # # DROP TABLESPACE ts1 ...@@ -118,10 +110,6 @@ master-bin1.000001 # Query # # DROP TABLESPACE ts1
ENGINE = NDB ENGINE = NDB
master-bin1.000001 # Query # # DROP LOGFILE GROUP lg1 master-bin1.000001 # Query # # DROP LOGFILE GROUP lg1
ENGINE =NDB ENGINE =NDB
master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # cluster.apply_status
master-bin1.000001 # Write_rows # #
master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # use `test`; drop table `t1` master-bin1.000001 # Query # # use `test`; drop table `t1`
reset master; reset master;
show tables; show tables;
...@@ -138,25 +126,9 @@ Log_name Pos Event_type Server_id End_log_pos Info ...@@ -138,25 +126,9 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin1.000001 # Query # # use `test`; create table t1 (a int key) engine=ndb master-bin1.000001 # Query # # use `test`; create table t1 (a int key) engine=ndb
master-bin1.000001 # Query # # use `test`; create table t2 (a int key) engine=ndb master-bin1.000001 # Query # # use `test`; create table t2 (a int key) engine=ndb
master-bin1.000001 # Query # # use `test`; create table t3 (a int key) engine=ndb master-bin1.000001 # Query # # use `test`; create table t3 (a int key) engine=ndb
master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # cluster.apply_status
master-bin1.000001 # Write_rows # #
master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # use `test`; rename table `test.t3` to `test.t4` master-bin1.000001 # Query # # use `test`; rename table `test.t3` to `test.t4`
master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # cluster.apply_status
master-bin1.000001 # Write_rows # #
master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # use `test`; rename table `test.t2` to `test.t3` master-bin1.000001 # Query # # use `test`; rename table `test.t2` to `test.t3`
master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # cluster.apply_status
master-bin1.000001 # Write_rows # #
master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # use `test`; rename table `test.t1` to `test.t2` master-bin1.000001 # Query # # use `test`; rename table `test.t1` to `test.t2`
master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # cluster.apply_status
master-bin1.000001 # Write_rows # #
master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # use `test`; rename table `test.t4` to `test.t1` master-bin1.000001 # Query # # use `test`; rename table `test.t4` to `test.t1`
drop table t1; drop table t1;
drop table t2; drop table t2;
...@@ -171,20 +143,21 @@ create table t1 (a int key) engine=ndb; ...@@ -171,20 +143,21 @@ create table t1 (a int key) engine=ndb;
insert into t1 values(1); insert into t1 values(1);
rename table t1 to t2; rename table t1 to t2;
insert into t2 values(2); insert into t2 values(2);
drop table t2;
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin1.000001 # Query # # use `test`; create table t1 (a int key) engine=ndb master-bin1.000001 # Query # # use `test`; create table t1 (a int key) engine=ndb
master-bin1.000001 # Query # # BEGIN master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # cluster.apply_status master-bin1.000001 # Table_map # # table_id: # (test.t1)
master-bin1.000001 # Write_rows # # master-bin1.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin1.000001 # Table_map # # test.t1 master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT master-bin1.000001 # Query # # COMMIT
master-bin1.000001 # Query # # use `test`; rename table `test.t1` to `test.t2` master-bin1.000001 # Query # # use `test`; rename table `test.t1` to `test.t2`
master-bin1.000001 # Query # # BEGIN master-bin1.000001 # Query # # BEGIN
master-bin1.000001 # Table_map # # cluster.apply_status master-bin1.000001 # Table_map # # table_id: # (test.t2)
master-bin1.000001 # Write_rows # # master-bin1.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin1.000001 # Table_map # # test.t2 master-bin1.000001 # Write_rows # # table_id: #
master-bin1.000001 # Write_rows # # master-bin1.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin1.000001 # Query # # COMMIT master-bin1.000001 # Query # # COMMIT
drop table t2; master-bin1.000001 # Query # # use `test`; drop table `t2`
...@@ -9,6 +9,4 @@ Log_name Pos Event_type Server_id End_log_pos Info ...@@ -9,6 +9,4 @@ 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`; drop table if exists t1
master-bin.000001 # Table_map # # table_id: # (mysql.proc) master-bin.000001 # Table_map # # table_id: # (mysql.proc)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (mysql.event)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
drop database mysqltest; drop database mysqltest;
...@@ -33,11 +33,9 @@ cluster.binlog_index ORDER BY epoch DESC LIMIT 1; ...@@ -33,11 +33,9 @@ cluster.binlog_index ORDER BY epoch DESC LIMIT 1;
SELECT inserts,updates,deletes,schemaops FROM SELECT inserts,updates,deletes,schemaops FROM
cluster.binlog_index WHERE epoch > <the_epoch> AND epoch < <the_epoch2>; cluster.binlog_index WHERE epoch > <the_epoch> AND epoch < <the_epoch2>;
inserts updates deletes schemaops inserts updates deletes schemaops
0 0 0 1
drop table t1; drop table t1;
SHOW TABLES; SHOW TABLES;
Tables_in_test Tables_in_test
SELECT inserts,updates,deletes,schemaops FROM SELECT inserts,updates,deletes,schemaops FROM
cluster.binlog_index WHERE epoch > <the_epoch> AND epoch < <the_epoch2>; cluster.binlog_index WHERE epoch > <the_epoch> AND epoch < <the_epoch2>;
inserts updates deletes schemaops inserts updates deletes schemaops
0 0 0 1
...@@ -114,20 +114,14 @@ Log_name Pos Event_type Server_id End_log_pos Info ...@@ -114,20 +114,14 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # drop database if exists mysqltest2 master-bin.000001 # Query 1 # drop database if exists mysqltest2
master-bin.000001 # Table_map 1 # table_id: # (mysql.proc) master-bin.000001 # Table_map 1 # table_id: # (mysql.proc)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map 1 # table_id: # (mysql.event)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # drop database if exists mysqltest3 master-bin.000001 # Query 1 # drop database if exists mysqltest3
master-bin.000001 # Table_map 1 # table_id: # (mysql.proc) master-bin.000001 # Table_map 1 # table_id: # (mysql.proc)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map 1 # table_id: # (mysql.event)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # create database mysqltest2 character set latin2 master-bin.000001 # Query 1 # create database mysqltest2 character set latin2
master-bin.000001 # Query 1 # create database mysqltest3 master-bin.000001 # Query 1 # create database mysqltest3
master-bin.000001 # Query 1 # drop database mysqltest3 master-bin.000001 # Query 1 # drop database mysqltest3
master-bin.000001 # Table_map 1 # table_id: # (mysql.proc) master-bin.000001 # Table_map 1 # table_id: # (mysql.proc)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map 1 # table_id: # (mysql.event)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # create database mysqltest3 master-bin.000001 # Query 1 # create database mysqltest3
master-bin.000001 # Query 1 # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100)) master-bin.000001 # Query 1 # use `mysqltest2`; create table t1 (a int auto_increment primary key, b varchar(100))
master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1) master-bin.000001 # Table_map 1 # table_id: # (mysqltest2.t1)
...@@ -155,13 +149,9 @@ master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F ...@@ -155,13 +149,9 @@ master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # drop database mysqltest2 master-bin.000001 # Query 1 # drop database mysqltest2
master-bin.000001 # Table_map 1 # table_id: # (mysql.proc) master-bin.000001 # Table_map 1 # table_id: # (mysql.proc)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map 1 # table_id: # (mysql.event)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # drop database mysqltest3 master-bin.000001 # Query 1 # drop database mysqltest3
master-bin.000001 # Table_map 1 # table_id: # (mysql.proc) master-bin.000001 # Table_map 1 # table_id: # (mysql.proc)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map 1 # table_id: # (mysql.event)
master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
select "--- --global--" as ""; select "--- --global--" as "";
--- --global-- --- --global--
......
...@@ -32,36 +32,35 @@ pk1 b c ...@@ -32,36 +32,35 @@ pk1 b c
select * from t1 order by pk1; select * from t1 order by pk1;
pk1 b c pk1 b c
1 2 3 1 2 3
show binlog events; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 102 Server ver: VERSION, Binlog ver: 4 master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t1
master-bin.000001 102 Query 1 188 use `test`; DROP TABLE IF EXISTS t1 master-bin.000001 # Query # # CREATE LOGFILE GROUP lg1
master-bin.000001 188 Query 1 353 CREATE LOGFILE GROUP lg1
ADD UNDOFILE 'undofile.dat' ADD UNDOFILE 'undofile.dat'
INITIAL_SIZE 16M INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M UNDO_BUFFER_SIZE = 1M
ENGINE=NDB ENGINE=NDB
master-bin.000001 353 Query 1 496 alter logfile group lg1 master-bin.000001 # Query # # alter logfile group lg1
add undofile 'undofile02.dat' add undofile 'undofile02.dat'
initial_size 4M engine=ndb initial_size 4M engine=ndb
master-bin.000001 496 Query 1 658 CREATE TABLESPACE ts1 master-bin.000001 # Query # # CREATE TABLESPACE ts1
ADD DATAFILE 'datafile.dat' ADD DATAFILE 'datafile.dat'
USE LOGFILE GROUP lg1 USE LOGFILE GROUP lg1
INITIAL_SIZE 12M INITIAL_SIZE 12M
ENGINE NDB ENGINE NDB
master-bin.000001 658 Query 1 798 alter tablespace ts1 master-bin.000001 # Query # # alter tablespace ts1
add datafile 'datafile02.dat' add datafile 'datafile02.dat'
initial_size 4M engine=ndb initial_size 4M engine=ndb
master-bin.000001 798 Query 1 978 use `test`; CREATE TABLE t1 master-bin.000001 # Query # # use `test`; CREATE TABLE t1
(pk1 int not null primary key, b int not null, c int not null) (pk1 int not null primary key, b int not null, c int not null)
tablespace ts1 storage disk tablespace ts1 storage disk
engine ndb engine ndb
master-bin.000001 978 Query 1 1042 BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 1042 Table_map 1 41 table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 1083 Table_map 1 94 table_id: # (cluster.apply_status) master-bin.000001 # Table_map # # table_id: # (cluster.apply_status)
master-bin.000001 1136 Write_rows 1 136 table_id: # master-bin.000001 # Write_rows # # table_id: #
master-bin.000001 1178 Write_rows 1 178 table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 1220 Query 1 1285 COMMIT master-bin.000001 # Query # # COMMIT
drop table t1; drop table t1;
alter tablespace ts1 alter tablespace ts1
drop datafile 'datafile.dat' drop datafile 'datafile.dat'
......
...@@ -21,18 +21,18 @@ Log_name Pos Event_type Server_id End_log_pos Info ...@@ -21,18 +21,18 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4 master-bin.000001 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB
master-bin.000001 # Query 1 # BEGIN master-bin.000001 # Query 1 # BEGIN
master-bin.000001 # Table_map 1 # cluster.apply_status master-bin.000001 # Table_map 1 # table_id: # (test.t1)
master-bin.000001 # Write_rows 1 # master-bin.000001 # Table_map 1 # table_id: # (cluster.apply_status)
master-bin.000001 # Table_map 1 # test.t1 master-bin.000001 # Write_rows 1 # table_id: #
master-bin.000001 # Write_rows 1 # master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # COMMIT master-bin.000001 # Query 1 # COMMIT
master-bin.000001 # Query 1 # use `test`; drop table t1 master-bin.000001 # Query 1 # use `test`; drop table t1
master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=NDB master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=NDB
master-bin.000001 # Query 1 # BEGIN master-bin.000001 # Query 1 # BEGIN
master-bin.000001 # Table_map 1 # cluster.apply_status master-bin.000001 # Table_map 1 # table_id: # (test.t1)
master-bin.000001 # Write_rows 1 # master-bin.000001 # Table_map 1 # table_id: # (cluster.apply_status)
master-bin.000001 # Table_map 1 # test.t1 master-bin.000001 # Write_rows 1 # table_id: #
master-bin.000001 # Write_rows 1 # master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # COMMIT master-bin.000001 # Query 1 # COMMIT
show binlog events from 102 limit 1; show binlog events from 102 limit 1;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
...@@ -43,7 +43,7 @@ master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_in ...@@ -43,7 +43,7 @@ master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_in
master-bin.000001 # Query 1 # BEGIN master-bin.000001 # Query 1 # BEGIN
show binlog events from 102 limit 2,1; show binlog events from 102 limit 2,1;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Table_map 1 # cluster.apply_status master-bin.000001 # Table_map 1 # table_id: # (test.t1)
flush logs; flush logs;
create table t3 (a int)ENGINE=NDB; create table t3 (a int)ENGINE=NDB;
start slave; start slave;
...@@ -56,18 +56,18 @@ Log_name Pos Event_type Server_id End_log_pos Info ...@@ -56,18 +56,18 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4 master-bin.000001 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB master-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB
master-bin.000001 # Query 1 # BEGIN master-bin.000001 # Query 1 # BEGIN
master-bin.000001 # Table_map 1 # cluster.apply_status master-bin.000001 # Table_map 1 # table_id: # (test.t1)
master-bin.000001 # Write_rows 1 # master-bin.000001 # Table_map 1 # table_id: # (cluster.apply_status)
master-bin.000001 # Table_map 1 # test.t1 master-bin.000001 # Write_rows 1 # table_id: #
master-bin.000001 # Write_rows 1 # master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # COMMIT master-bin.000001 # Query 1 # COMMIT
master-bin.000001 # Query 1 # use `test`; drop table t1 master-bin.000001 # Query 1 # use `test`; drop table t1
master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=NDB master-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=NDB
master-bin.000001 # Query 1 # BEGIN master-bin.000001 # Query 1 # BEGIN
master-bin.000001 # Table_map 1 # cluster.apply_status master-bin.000001 # Table_map 1 # table_id: # (test.t1)
master-bin.000001 # Write_rows 1 # master-bin.000001 # Table_map 1 # table_id: # (cluster.apply_status)
master-bin.000001 # Table_map 1 # test.t1 master-bin.000001 # Write_rows 1 # table_id: #
master-bin.000001 # Write_rows 1 # master-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000001 # Query 1 # COMMIT master-bin.000001 # Query 1 # COMMIT
master-bin.000001 # Rotate 1 # master-bin.000002;pos=4 master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
show binlog events in 'master-bin.000002'; show binlog events in 'master-bin.000002';
...@@ -76,53 +76,53 @@ master-bin.000002 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4 ...@@ -76,53 +76,53 @@ master-bin.000002 # Format_desc 1 # Server ver: VERSION, Binlog ver: 4
master-bin.000002 # Query 1 # use `test`; create table t3 (a int)ENGINE=NDB master-bin.000002 # Query 1 # use `test`; create table t3 (a int)ENGINE=NDB
master-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=NDB master-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=NDB
master-bin.000002 # Query 1 # BEGIN master-bin.000002 # Query 1 # BEGIN
master-bin.000002 # Table_map 1 # cluster.apply_status master-bin.000002 # Table_map 1 # table_id: # (test.t2)
master-bin.000002 # Write_rows 1 # master-bin.000002 # Table_map 1 # table_id: # (cluster.apply_status)
master-bin.000002 # Table_map 1 # test.t2 master-bin.000002 # Write_rows 1 # table_id: #
master-bin.000002 # Write_rows 1 # master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
master-bin.000002 # Query 1 # COMMIT master-bin.000002 # Query 1 # COMMIT
show binary logs; show binary logs;
Log_name File_size Log_name File_size
master-bin.000001 1722 master-bin.000001 1698
master-bin.000002 603 master-bin.000002 591
start slave; start slave;
show binary logs; show binary logs;
Log_name File_size Log_name File_size
slave-bin.000001 1817 slave-bin.000001 1793
slave-bin.000002 198 slave-bin.000002 198
show binlog events in 'slave-bin.000001' from 4; show binlog events in 'slave-bin.000001' from 4;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4 slave-bin.000001 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
slave-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB slave-bin.000001 # Query 1 # use `test`; create table t1(n int not null auto_increment primary key)ENGINE=NDB
slave-bin.000001 # Query 2 # BEGIN slave-bin.000001 # Query 2 # BEGIN
slave-bin.000001 # Table_map 2 # cluster.apply_status slave-bin.000001 # Table_map 2 # table_id: # (test.t1)
slave-bin.000001 # Write_rows 2 # slave-bin.000001 # Table_map 2 # table_id: # (cluster.apply_status)
slave-bin.000001 # Table_map 2 # test.t1 slave-bin.000001 # Write_rows 2 # table_id: #
slave-bin.000001 # Write_rows 2 # slave-bin.000001 # Write_rows 2 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 2 # COMMIT slave-bin.000001 # Query 2 # COMMIT
slave-bin.000001 # Query 1 # use `test`; drop table t1 slave-bin.000001 # Query 1 # use `test`; drop table t1
slave-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=NDB slave-bin.000001 # Query 1 # use `test`; create table t1 (word char(20) not null)ENGINE=NDB
slave-bin.000001 # Query 1 # use `test`; create table t3 (a int)ENGINE=NDB
slave-bin.000001 # Query 2 # BEGIN slave-bin.000001 # Query 2 # BEGIN
slave-bin.000001 # Table_map 2 # cluster.apply_status slave-bin.000001 # Table_map 2 # table_id: # (test.t1)
slave-bin.000001 # Write_rows 2 # slave-bin.000001 # Table_map 2 # table_id: # (cluster.apply_status)
slave-bin.000001 # Table_map 2 # test.t1 slave-bin.000001 # Write_rows 2 # table_id: #
slave-bin.000001 # Write_rows 2 # slave-bin.000001 # Write_rows 2 # table_id: # flags: STMT_END_F
slave-bin.000001 # Query 2 # COMMIT slave-bin.000001 # Query 2 # COMMIT
slave-bin.000001 # Query 1 # use `test`; create table t3 (a int)ENGINE=NDB
slave-bin.000001 # Rotate 2 # slave-bin.000002;pos=4 slave-bin.000001 # Rotate 2 # slave-bin.000002;pos=4
show binlog events in 'slave-bin.000002' from 4; show binlog events in 'slave-bin.000002' from 4;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000002 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4 slave-bin.000002 # Format_desc 2 # Server ver: VERSION, Binlog ver: 4
slave-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=NDB slave-bin.000002 # Query 1 # use `test`; create table t2 (n int)ENGINE=NDB
slave-bin.000002 # Query 2 # BEGIN slave-bin.000002 # Query 2 # BEGIN
slave-bin.000002 # Table_map 2 # cluster.apply_status slave-bin.000002 # Table_map 2 # table_id: # (test.t2)
slave-bin.000002 # Write_rows 2 # slave-bin.000002 # Table_map 2 # table_id: # (cluster.apply_status)
slave-bin.000002 # Table_map 2 # test.t2 slave-bin.000002 # Write_rows 2 # table_id: #
slave-bin.000002 # Write_rows 2 # slave-bin.000002 # Write_rows 2 # table_id: # flags: STMT_END_F
slave-bin.000002 # Query 2 # COMMIT slave-bin.000002 # Query 2 # COMMIT
show slave status; show slave status;
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
# 127.0.0.1 root MASTER_PORT 1 master-bin.000002 603 # # master-bin.000002 Yes Yes # 0 0 603 # None 0 No # # 127.0.0.1 root MASTER_PORT 1 master-bin.000002 591 # # master-bin.000002 Yes Yes # 0 0 591 # None 0 No #
show binlog events in 'slave-bin.000005' from 4; show binlog events in 'slave-bin.000005' from 4;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
DROP TABLE t1; DROP TABLE t1;
......
...@@ -15,8 +15,9 @@ events : test case unstable. andrey will fix ...@@ -15,8 +15,9 @@ events : test case unstable. andrey will fix
#ndb_alter_table_row : sometimes wrong error 1015!=1046 #ndb_alter_table_row : sometimes wrong error 1015!=1046
ndb_autodiscover : Needs to be fixed w.r.t binlog ndb_autodiscover : Needs to be fixed w.r.t binlog
ndb_autodiscover2 : Needs to be fixed w.r.t binlog ndb_autodiscover2 : Needs to be fixed w.r.t binlog
ndb_binlog_basic : Results are not deterministic, Tomas will fix #ndb_binlog_basic : Results are not deterministic, Tomas will fix
ndb_binlog_ddl_multi : Bug#17038 [PATCH PENDING] #ndb_binlog_ddl_multi : Bug#17038 [PATCH PENDING]
ndb_binlog_multi : Results are not deterministic, Tomas will fix
ndb_load : Bug#17233 ndb_load : Bug#17233
partition_03ndb : Bug#16385 partition_03ndb : Bug#16385
ps_7ndb : dbug assert in RBR mode when executing test suite ps_7ndb : dbug assert in RBR mode when executing test suite
...@@ -33,7 +34,7 @@ rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk ...@@ -33,7 +34,7 @@ rpl_ndb_delete_nowhere : Bug#17400: delete & update of rows in table without pk
rpl_ndb_innodb2ndb : Bugs#17400: delete & update of rows in table without pk fails rpl_ndb_innodb2ndb : Bugs#17400: delete & update of rows in table without pk fails
rpl_ndb_insert_ignore : Bugs: #17431: INSERT IGNORE INTO returns failed: 1296 rpl_ndb_insert_ignore : Bugs: #17431: INSERT IGNORE INTO returns failed: 1296
rpl_ndb_myisam2ndb : Bugs#17400: delete & update of rows in table without pk fails rpl_ndb_myisam2ndb : Bugs#17400: delete & update of rows in table without pk fails
rpl_ndb_log : result not deterministic #rpl_ndb_log : result not deterministic
rpl_ndb_relay_space : Bug#16993 rpl_ndb_relay_space : Bug#16993
rpl_ndb_multi_update2 : BUG#17738 In progress rpl_ndb_multi_update2 : BUG#17738 In progress
rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails rpl_ndb_multi_update3 : Bug#17400: delete & update of rows in table without pk fails
......
...@@ -42,8 +42,6 @@ select inserts from cluster.binlog_index where epoch > @max_epoch and inserts > ...@@ -42,8 +42,6 @@ select inserts from cluster.binlog_index where epoch > @max_epoch and inserts >
select deletes from cluster.binlog_index where epoch > @max_epoch and deletes > 5; select deletes from cluster.binlog_index where epoch > @max_epoch and deletes > 5;
select inserts,updates,deletes from select inserts,updates,deletes from
cluster.binlog_index where epoch > @max_epoch and updates > 0; cluster.binlog_index where epoch > @max_epoch and updates > 0;
select schemaops from
cluster.binlog_index where epoch > @max_epoch and schemaops > 0;
# #
# check that purge clears the binlog_index # check that purge clears the binlog_index
...@@ -72,5 +70,3 @@ drop table t1; ...@@ -72,5 +70,3 @@ drop table t1;
drop database mysqltest; drop database mysqltest;
select inserts,updates,deletes from select inserts,updates,deletes from
cluster.binlog_index where epoch > @max_epoch and inserts > 0; cluster.binlog_index where epoch > @max_epoch and inserts > 0;
select schemaops from
cluster.binlog_index where epoch > @max_epoch and schemaops > 0;
...@@ -171,10 +171,9 @@ create table t1 (a int key) engine=ndb; ...@@ -171,10 +171,9 @@ create table t1 (a int key) engine=ndb;
insert into t1 values(1); insert into t1 values(1);
rename table t1 to t2; rename table t1 to t2;
insert into t2 values(2); insert into t2 values(2);
drop table t2;
# now we should see data in table t1 _and_ t2 # now we should see data in table t1 _and_ t2
# prior to bug fix, data was missing for t2 # prior to bug fix, data was missing for t2
--connection server2 --connection server2
--source include/show_binlog_events.inc --source include/show_binlog_events.inc
drop table t2;
-- source include/have_ndb.inc -- source include/have_ndb.inc
-- source include/have_binlog_format_row.inc -- source include/have_binlog_format_row.inc
--let $binlog_start=102
--disable_warnings --disable_warnings
drop table if exists t1; drop table if exists t1;
drop database if exists mysqltest; drop database if exists mysqltest;
...@@ -12,9 +10,6 @@ create database mysqltest; ...@@ -12,9 +10,6 @@ create database mysqltest;
use mysqltest; use mysqltest;
create table t1 (a int primary key, b int) engine=ndb; create table t1 (a int primary key, b int) engine=ndb;
insert into t1 values (1, 1); insert into t1 values (1, 1);
--replace_result $binlog_start <binlog_start> -- source include/show_binlog_events.inc
--replace_column 2 # 4 # 5 #
--replace_regex /table_id: [0-9]+/table_id: #/
--eval show binlog events from $binlog_start
drop database mysqltest; drop database mysqltest;
...@@ -43,6 +43,7 @@ SELECT * FROM t2 ORDER BY a; ...@@ -43,6 +43,7 @@ SELECT * FROM t2 ORDER BY a;
eval SELECT inserts,updates,deletes,schemaops FROM eval SELECT inserts,updates,deletes,schemaops FROM
cluster.binlog_index WHERE epoch=$the_epoch; cluster.binlog_index WHERE epoch=$the_epoch;
# single schema ops will not show
# drop the table on server1 # drop the table on server1
DROP TABLE t2; DROP TABLE t2;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB; CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB;
......
...@@ -67,10 +67,7 @@ select * from t1 order by pk1; ...@@ -67,10 +67,7 @@ select * from t1 order by pk1;
# #
--connection master --connection master
let $VERSION=`select version()`; -- source include/show_binlog_events.inc
--replace_result $VERSION VERSION
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events;
# #
# cleanup # cleanup
......
This diff is collapsed.
...@@ -43,6 +43,9 @@ injector::transaction::transaction(MYSQL_LOG *log, THD *thd) ...@@ -43,6 +43,9 @@ injector::transaction::transaction(MYSQL_LOG *log, THD *thd)
injector::transaction::~transaction() injector::transaction::~transaction()
{ {
if (!good())
return;
/* Needed since my_free expects a 'char*' (instead of 'void*'). */ /* Needed since my_free expects a 'char*' (instead of 'void*'). */
char* const the_memory= const_cast<char*>(m_start_pos.m_file_name); char* const the_memory= const_cast<char*>(m_start_pos.m_file_name);
......
...@@ -235,6 +235,11 @@ class injector ...@@ -235,6 +235,11 @@ class injector
m_thd= o.m_thd; m_thd= o.m_thd;
o.m_thd= tmp; o.m_thd= tmp;
} }
{
enum_state const tmp= m_state;
m_state= o.m_state;
o.m_state= tmp;
}
} }
enum enum_state enum enum_state
......
...@@ -348,7 +348,7 @@ void Dbdict::packTableIntoPages(Signal* signal) ...@@ -348,7 +348,7 @@ void Dbdict::packTableIntoPages(Signal* signal)
memset(&pagePtr.p->word[0], 0, 4 * ZPAGE_HEADER_SIZE); memset(&pagePtr.p->word[0], 0, 4 * ZPAGE_HEADER_SIZE);
LinearWriter w(&pagePtr.p->word[ZPAGE_HEADER_SIZE], LinearWriter w(&pagePtr.p->word[ZPAGE_HEADER_SIZE],
8 * ZSIZE_OF_PAGES_IN_WORDS); ZMAX_PAGES_OF_TABLE_DEFINITION * ZSIZE_OF_PAGES_IN_WORDS);
w.first(); w.first();
switch((DictTabInfo::TableType)type) { switch((DictTabInfo::TableType)type) {
case DictTabInfo::SystemTable: case DictTabInfo::SystemTable:
......
...@@ -2565,6 +2565,9 @@ Suma::reportAllSubscribers(Signal *signal, ...@@ -2565,6 +2565,9 @@ Suma::reportAllSubscribers(Signal *signal,
return; return;
} }
#ifdef VM_TRACE
ndbout_c("reportAllSubscribers");
#endif
SubTableData * data = (SubTableData*)signal->getDataPtrSend(); SubTableData * data = (SubTableData*)signal->getDataPtrSend();
data->gci = m_last_complete_gci + 1; data->gci = m_last_complete_gci + 1;
data->tableId = subPtr.p->m_tableId; data->tableId = subPtr.p->m_tableId;
...@@ -2591,6 +2594,12 @@ Suma::reportAllSubscribers(Signal *signal, ...@@ -2591,6 +2594,12 @@ Suma::reportAllSubscribers(Signal *signal,
data->senderData = subbPtr.p->m_senderData; data->senderData = subbPtr.p->m_senderData;
sendSignal(subbPtr.p->m_senderRef, GSN_SUB_TABLE_DATA, signal, sendSignal(subbPtr.p->m_senderRef, GSN_SUB_TABLE_DATA, signal,
SubTableData::SignalLength, JBB); SubTableData::SignalLength, JBB);
#ifdef VM_TRACE
ndbout_c("sent %s(%d) to node %d",
table_event == NdbDictionary::Event::_TE_SUBSCRIBE ?
"SUBSCRIBE" : "UNSUBSCRIBE", (int) table_event,
refToNode(subbPtr.p->m_senderRef));
#endif
} }
} }
} }
......
...@@ -1173,15 +1173,17 @@ NdbEventBuffer::nextEvent() ...@@ -1173,15 +1173,17 @@ NdbEventBuffer::nextEvent()
NdbEventOperationImpl* NdbEventOperationImpl*
NdbEventBuffer::getGCIEventOperations(Uint32* iter, Uint32* event_types) NdbEventBuffer::getGCIEventOperations(Uint32* iter, Uint32* event_types)
{ {
DBUG_ENTER("NdbEventBuffer::getGCIEventOperations");
EventBufData_list::Gci_ops *gci_ops = m_available_data.first_gci_ops(); EventBufData_list::Gci_ops *gci_ops = m_available_data.first_gci_ops();
if (*iter < gci_ops->m_gci_op_count) if (*iter < gci_ops->m_gci_op_count)
{ {
EventBufData_list::Gci_op g = gci_ops->m_gci_op_list[(*iter)++]; EventBufData_list::Gci_op g = gci_ops->m_gci_op_list[(*iter)++];
if (event_types != NULL) if (event_types != NULL)
*event_types = g.event_types; *event_types = g.event_types;
return g.op; DBUG_PRINT("info", ("gci: %d", (unsigned)gci_ops->m_gci));
DBUG_RETURN(g.op);
} }
return NULL; DBUG_RETURN(NULL);
} }
void void
...@@ -1647,11 +1649,19 @@ NdbEventBuffer::insertDataL(NdbEventOperationImpl *op, ...@@ -1647,11 +1649,19 @@ NdbEventBuffer::insertDataL(NdbEventOperationImpl *op,
else else
{ {
// event with same op, PK found, merge into old buffer // event with same op, PK found, merge into old buffer
Uint32 old_op = data->sdata->operation;
if (unlikely(merge_data(sdata, ptr, data))) if (unlikely(merge_data(sdata, ptr, data)))
{ {
op->m_has_error = 3; op->m_has_error = 3;
DBUG_RETURN_EVENT(-1); DBUG_RETURN_EVENT(-1);
} }
Uint32 new_op = data->sdata->operation;
// make Gci_ops reflect the merge by delete old and add new
EventBufData_list::Gci_op g = { op, (1 << old_op) };
// bucket->m_data.del_gci_op(g); // XXX whats wrong? fix later
g.event_types = (1 << new_op);
bucket->m_data.add_gci_op(g);
} }
DBUG_RETURN_EVENT(0); DBUG_RETURN_EVENT(0);
} }
...@@ -2184,7 +2194,7 @@ void EventBufData_list::append_list(EventBufData_list *list, Uint64 gci) ...@@ -2184,7 +2194,7 @@ void EventBufData_list::append_list(EventBufData_list *list, Uint64 gci)
} }
void void
EventBufData_list::add_gci_op(Gci_op g) EventBufData_list::add_gci_op(Gci_op g, bool del)
{ {
assert(g.op != NULL); assert(g.op != NULL);
Uint32 i; Uint32 i;
...@@ -2193,7 +2203,10 @@ EventBufData_list::add_gci_op(Gci_op g) ...@@ -2193,7 +2203,10 @@ EventBufData_list::add_gci_op(Gci_op g)
break; break;
} }
if (i < m_gci_op_count) { if (i < m_gci_op_count) {
if (! del)
m_gci_op_list[i].event_types |= g.event_types; m_gci_op_list[i].event_types |= g.event_types;
else
m_gci_op_list[i].event_types &= ~ g.event_types;
} else { } else {
if (m_gci_op_count == m_gci_op_alloc) { if (m_gci_op_count == m_gci_op_alloc) {
Uint32 n = 1 + 2 * m_gci_op_alloc; Uint32 n = 1 + 2 * m_gci_op_alloc;
...@@ -2207,6 +2220,7 @@ EventBufData_list::add_gci_op(Gci_op g) ...@@ -2207,6 +2220,7 @@ EventBufData_list::add_gci_op(Gci_op g)
m_gci_op_alloc = n; m_gci_op_alloc = n;
} }
assert(m_gci_op_count < m_gci_op_alloc); assert(m_gci_op_count < m_gci_op_alloc);
assert(! del);
m_gci_op_list[m_gci_op_count++] = g; m_gci_op_list[m_gci_op_count++] = g;
} }
} }
......
...@@ -129,9 +129,11 @@ public: ...@@ -129,9 +129,11 @@ public:
}; };
Gci_ops *first_gci_ops(); Gci_ops *first_gci_ops();
Gci_ops *next_gci_ops(); Gci_ops *next_gci_ops();
private:
// case 1 above; add Gci_op to single list // case 1 above; add Gci_op to single list
void add_gci_op(Gci_op g); void add_gci_op(Gci_op g, bool del = false);
// delete bit from existing flags
void del_gci_op(Gci_op g) { add_gci_op(g, true); }
private:
// case 2 above; move single list or multi list from // case 2 above; move single list or multi list from
// one list to another // one list to another
void move_gci_ops(EventBufData_list *list, Uint64 gci); void move_gci_ops(EventBufData_list *list, Uint64 gci);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment