1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

don't log BEGIN in auto-commit mode

correct end_log_pos for Xid_log_event


mysql-test/r/binlog.result:
  don't depend on the previous tests
mysql-test/r/rpl_rotate_logs.result:
  correct end_log_pos for Xid_log_event
mysql-test/t/binlog.test:
  don't depend on the previous tests
sql/handler.h:
  comment
sql/log_event.cc:
  advance position for Xid
sql/log_event.h:
  comment
sql/sql_class.h:
  correct end_log_pos for Xid_log_event
sql/sql_parse.cc:
  make sure commit handler knows whether it's autocommit or not
This commit is contained in:
unknown
2005-02-23 18:26:49 +01:00
parent 0cd185ea6a
commit be9f1863b7
10 changed files with 51 additions and 59 deletions

View File

@ -1,4 +1,5 @@
drop table if exists t1, t2;
reset master;
create table t1 (a int) engine=bdb;
create table t2 (a int) engine=innodb;
begin;
@ -9,14 +10,13 @@ insert t2 values (5);
commit;
show binlog events from 96;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 96 Query 1 187 use `test`; drop table if exists t1, t2
master-bin.000001 187 Query 1 285 use `test`; create table t1 (a int) engine=bdb
master-bin.000001 285 Query 1 386 use `test`; create table t2 (a int) engine=innodb
master-bin.000001 386 Query 1 455 use `test`; BEGIN
master-bin.000001 455 Query 1 84 use `test`; insert t1 values (5)
master-bin.000001 539 Query 1 154 use `test`; COMMIT
master-bin.000001 609 Query 1 678 use `test`; BEGIN
master-bin.000001 678 Query 1 84 use `test`; insert t2 values (5)
master-bin.000001 762 Xid 1 111 COMMIT /* xid=10 */
master-bin.000001 96 Query 1 194 use `test`; create table t1 (a int) engine=bdb
master-bin.000001 194 Query 1 295 use `test`; create table t2 (a int) engine=innodb
master-bin.000001 295 Query 1 364 use `test`; BEGIN
master-bin.000001 364 Query 1 84 use `test`; insert t1 values (5)
master-bin.000001 448 Query 1 518 use `test`; COMMIT
master-bin.000001 518 Query 1 587 use `test`; BEGIN
master-bin.000001 587 Query 1 84 use `test`; insert t2 values (5)
master-bin.000001 671 Xid 1 698 COMMIT /* xid=318 */
reset master;
drop table t1,t2;

View File

@ -101,10 +101,9 @@ insert into t1 values(9);
insert into t2 select * from t1;
show binlog events from 96;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 96 Query 1 # use `test`; BEGIN
master-bin.000001 165 Query 1 # use `test`; insert into t1 values(9)
master-bin.000001 253 Xid 1 # COMMIT /* xid=59 */
master-bin.000001 280 Query 1 # use `test`; insert into t2 select * from t1
master-bin.000001 96 Query 1 # use `test`; insert into t1 values(9)
master-bin.000001 184 Xid 1 # COMMIT /* xid=59 */
master-bin.000001 211 Query 1 # use `test`; insert into t2 select * from t1
delete from t1;
delete from t2;
reset master;
@ -113,21 +112,19 @@ begin;
insert into t2 select * from t1;
show binlog events from 96;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 96 Query 1 # use `test`; BEGIN
master-bin.000001 165 Query 1 # use `test`; insert into t1 values(10)
master-bin.000001 254 Xid 1 # COMMIT /* xid=65 */
master-bin.000001 281 Query 1 # use `test`; insert into t2 select * from t1
master-bin.000001 96 Query 1 # use `test`; insert into t1 values(10)
master-bin.000001 185 Xid 1 # COMMIT /* xid=65 */
master-bin.000001 212 Query 1 # use `test`; insert into t2 select * from t1
insert into t1 values(11);
commit;
show binlog events from 96;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 96 Query 1 # use `test`; BEGIN
master-bin.000001 165 Query 1 # use `test`; insert into t1 values(10)
master-bin.000001 254 Xid 1 # COMMIT /* xid=65 */
master-bin.000001 281 Query 1 # use `test`; insert into t2 select * from t1
master-bin.000001 376 Query 1 # use `test`; BEGIN
master-bin.000001 445 Query 1 # use `test`; insert into t1 values(11)
master-bin.000001 534 Xid 1 # COMMIT /* xid=67 */
master-bin.000001 96 Query 1 # use `test`; insert into t1 values(10)
master-bin.000001 185 Xid 1 # COMMIT /* xid=65 */
master-bin.000001 212 Query 1 # use `test`; insert into t2 select * from t1
master-bin.000001 307 Query 1 # use `test`; BEGIN
master-bin.000001 376 Query 1 # use `test`; insert into t1 values(11)
master-bin.000001 465 Xid 1 # COMMIT /* xid=67 */
alter table t2 engine=INNODB;
delete from t1;
delete from t2;

View File

@ -203,7 +203,7 @@ master-bin.000001 9190 Query 1 9016 use `test`; insert into t1 values(4 + 4)
master-bin.000001 9282 Query 1 9108 use `test`; insert into t1 values(3 + 4)
master-bin.000001 9374 Query 1 9200 use `test`; insert into t1 values(2 + 4)
master-bin.000001 9466 Query 1 9292 use `test`; insert into t1 values(1 + 4)
master-bin.000001 9558 Xid 1 9319 COMMIT /* xid=146 */
master-bin.000001 9558 Xid 1 9585 COMMIT /* xid=146 */
master-bin.000001 9585 Rotate 1 9629 master-bin.000002;pos=4
show binlog events in 'master-bin.000002';
Log_name Pos Event_type Server_id End_log_pos Info

View File

@ -7,6 +7,7 @@
--disable_warnings
drop table if exists t1, t2;
--enable_warnings
reset master;
create table t1 (a int) engine=bdb;
create table t2 (a int) engine=innodb;
@ -17,6 +18,7 @@ begin;
insert t2 values (5);
commit;
# first COMMIT must be Query_log_event, second - Xid_log_event
--replace_result "xid=891" "xid=318" "xid=11" "xid=318" "xid=18" "xid=318"
show binlog events from 96;
reset master;
drop table t1,t2;