From 41c337a17174debc7821993b4e790b897835ba81 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Thu, 19 Mar 2015 21:47:51 +1100 Subject: [PATCH] add group_commit_reason_immediate to binlog_commit_wait test --- .../suite/binlog/r/binlog_commit_wait.result | 22 +++++++++++++++++++ .../suite/binlog/t/binlog_commit_wait.test | 12 ++++++++++ 2 files changed, 34 insertions(+) diff --git a/mysql-test/suite/binlog/r/binlog_commit_wait.result b/mysql-test/suite/binlog/r/binlog_commit_wait.result index 8f7e4bcfc11..9f3668dbc46 100644 --- a/mysql-test/suite/binlog/r/binlog_commit_wait.result +++ b/mysql-test/suite/binlog/r/binlog_commit_wait.result @@ -12,6 +12,8 @@ SELECT variable_value INTO @group_commit_reason_usec FROM information_schema.glo WHERE variable_name = 'binlog_group_commit_reason_usec'; SELECT variable_value INTO @group_commit_reason_transaction FROM information_schema.global_status WHERE variable_name = 'binlog_group_commit_reason_transaction'; +SELECT variable_value INTO @group_commit_reason_immediate FROM information_schema.global_status +WHERE variable_name = 'binlog_group_commit_reason_immediate'; SET @a= current_timestamp(); BEGIN; INSERT INTO t1 VALUES (1,0); @@ -37,6 +39,10 @@ SELECT variable_value - @group_commit_reason_transaction FROM information_schema WHERE variable_name = 'binlog_group_commit_reason_transaction'; variable_value - @group_commit_reason_transaction 1 +SELECT variable_value - @group_commit_reason_immediate FROM information_schema.global_status +WHERE variable_name = 'binlog_group_commit_reason_immediate'; +variable_value - @group_commit_reason_immediate +0 ERROR 23000: Duplicate entry '1' for key 'PRIMARY' SET @a= current_timestamp(); INSERT INTO t1 VALUES (2,0); @@ -62,6 +68,10 @@ SELECT variable_value - @group_commit_reason_transaction FROM information_schema WHERE variable_name = 'binlog_group_commit_reason_transaction'; variable_value - @group_commit_reason_transaction 1 +SELECT variable_value - @group_commit_reason_immediate FROM information_schema.global_status +WHERE variable_name = 'binlog_group_commit_reason_immediate'; +variable_value - @group_commit_reason_immediate +0 SET @a= current_timestamp(); INSERT INTO t1 VALUES (6,0); BEGIN; @@ -92,6 +102,10 @@ SELECT variable_value - @group_commit_reason_transaction FROM information_schema WHERE variable_name = 'binlog_group_commit_reason_transaction'; variable_value - @group_commit_reason_transaction 2 +SELECT variable_value - @group_commit_reason_immediate FROM information_schema.global_status +WHERE variable_name = 'binlog_group_commit_reason_immediate'; +variable_value - @group_commit_reason_immediate +0 SET @a= current_timestamp(); INSERT INTO t1 VALUES (7,0); INSERT INTO t1 VALUES (8,0); @@ -115,6 +129,10 @@ SELECT variable_value - @group_commit_reason_transaction FROM information_schema WHERE variable_name = 'binlog_group_commit_reason_transaction'; variable_value - @group_commit_reason_transaction 2 +SELECT variable_value - @group_commit_reason_immediate FROM information_schema.global_status +WHERE variable_name = 'binlog_group_commit_reason_immediate'; +variable_value - @group_commit_reason_immediate +0 SET @a= current_timestamp(); SET GLOBAL binlog_commit_wait_usec= 5*1000*1000; INSERT INTO t1 VALUES (9,0); @@ -140,6 +158,10 @@ SELECT variable_value - @group_commit_reason_transaction FROM information_schema WHERE variable_name = 'binlog_group_commit_reason_transaction'; variable_value - @group_commit_reason_transaction 2 +SELECT variable_value - @group_commit_reason_immediate FROM information_schema.global_status +WHERE variable_name = 'binlog_group_commit_reason_immediate'; +variable_value - @group_commit_reason_immediate +0 SELECT * FROM t1 ORDER BY a; a b 1 11 diff --git a/mysql-test/suite/binlog/t/binlog_commit_wait.test b/mysql-test/suite/binlog/t/binlog_commit_wait.test index 3b183f26f2f..82373be47bb 100644 --- a/mysql-test/suite/binlog/t/binlog_commit_wait.test +++ b/mysql-test/suite/binlog/t/binlog_commit_wait.test @@ -23,6 +23,8 @@ SELECT variable_value INTO @group_commit_reason_usec FROM information_schema.glo WHERE variable_name = 'binlog_group_commit_reason_usec'; SELECT variable_value INTO @group_commit_reason_transaction FROM information_schema.global_status WHERE variable_name = 'binlog_group_commit_reason_transaction'; +SELECT variable_value INTO @group_commit_reason_immediate FROM information_schema.global_status + WHERE variable_name = 'binlog_group_commit_reason_immediate'; # Note: binlog_group_commits is counted at the start of the group and group_commit_reason_* is # counted near when the groups its finalised. @@ -62,6 +64,8 @@ SELECT variable_value - @group_commit_reason_usec FROM information_schema.global WHERE variable_name = 'binlog_group_commit_reason_usec'; SELECT variable_value - @group_commit_reason_transaction FROM information_schema.global_status WHERE variable_name = 'binlog_group_commit_reason_transaction'; +SELECT variable_value - @group_commit_reason_immediate FROM information_schema.global_status + WHERE variable_name = 'binlog_group_commit_reason_immediate'; --connection con2 --error ER_DUP_ENTRY @@ -101,6 +105,8 @@ SELECT variable_value - @group_commit_reason_usec FROM information_schema.global WHERE variable_name = 'binlog_group_commit_reason_usec'; SELECT variable_value - @group_commit_reason_transaction FROM information_schema.global_status WHERE variable_name = 'binlog_group_commit_reason_transaction'; +SELECT variable_value - @group_commit_reason_immediate FROM information_schema.global_status + WHERE variable_name = 'binlog_group_commit_reason_immediate'; # Test that commit triggers immediately if there is already a transaction # waiting on another transaction that reaches its commit. @@ -147,6 +153,8 @@ SELECT variable_value - @group_commit_reason_usec FROM information_schema.global WHERE variable_name = 'binlog_group_commit_reason_usec'; SELECT variable_value - @group_commit_reason_transaction FROM information_schema.global_status WHERE variable_name = 'binlog_group_commit_reason_transaction'; +SELECT variable_value - @group_commit_reason_immediate FROM information_schema.global_status + WHERE variable_name = 'binlog_group_commit_reason_immediate'; --connection default SET @a= current_timestamp(); @@ -174,6 +182,8 @@ SELECT variable_value - @group_commit_reason_usec FROM information_schema.global WHERE variable_name = 'binlog_group_commit_reason_usec'; SELECT variable_value - @group_commit_reason_transaction FROM information_schema.global_status WHERE variable_name = 'binlog_group_commit_reason_transaction'; +SELECT variable_value - @group_commit_reason_immediate FROM information_schema.global_status + WHERE variable_name = 'binlog_group_commit_reason_immediate'; # Test that when the binlog_commit_wait_usec is reached the tranction gets a group commit @@ -201,6 +211,8 @@ SELECT variable_value - @group_commit_reason_usec FROM information_schema.global WHERE variable_name = 'binlog_group_commit_reason_usec'; SELECT variable_value - @group_commit_reason_transaction FROM information_schema.global_status WHERE variable_name = 'binlog_group_commit_reason_transaction'; +SELECT variable_value - @group_commit_reason_immediate FROM information_schema.global_status + WHERE variable_name = 'binlog_group_commit_reason_immediate'; --connection default SELECT * FROM t1 ORDER BY a;