From 9f3ca227ffc176d6dd38a84a006e8258d7fd8db1 Mon Sep 17 00:00:00 2001 From: Chad MILLER Date: Mon, 8 Sep 2008 16:23:55 -0400 Subject: [PATCH] Bug#37312: Make test binlog_{row,stm}_innodb_stat more robust The size of the Innodb_buffer_pool_pages differs by one byte on row versus statement log, so neuter the last position of the stringified decimal representation. Innobase says the size isn't very important in any case. Also, split out the "mixed" format to its own file, as mtr seems to dislike having only stm and row but not mix. --- .../extra/binlog_tests/innodb_stat.test | 1 + .../binlog/r/binlog_mix_innodb_stat.result | 39 +++++++++++++++++++ .../binlog/r/binlog_row_innodb_stat.result | 2 +- .../binlog/r/binlog_stm_innodb_stat.result | 2 +- .../binlog/t/binlog_mix_innodb_stat.test | 5 +++ .../binlog/t/binlog_stm_innodb_stat.test | 2 +- 6 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 mysql-test/suite/binlog/r/binlog_mix_innodb_stat.result create mode 100644 mysql-test/suite/binlog/t/binlog_mix_innodb_stat.test diff --git a/mysql-test/extra/binlog_tests/innodb_stat.test b/mysql-test/extra/binlog_tests/innodb_stat.test index 4638dfcd2f7..e2691bf972f 100644 --- a/mysql-test/extra/binlog_tests/innodb_stat.test +++ b/mysql-test/extra/binlog_tests/innodb_stat.test @@ -41,6 +41,7 @@ drop table t1; # Test for testable InnoDB status variables. This test # uses previous ones(pages_created, rows_deleted, ...). +-- replace_regex /51[12]/51_/ show status like "Innodb_buffer_pool_pages_total"; show status like "Innodb_page_size"; show status like "Innodb_rows_deleted"; diff --git a/mysql-test/suite/binlog/r/binlog_mix_innodb_stat.result b/mysql-test/suite/binlog/r/binlog_mix_innodb_stat.result new file mode 100644 index 00000000000..bdc87dc0ab5 --- /dev/null +++ b/mysql-test/suite/binlog/r/binlog_mix_innodb_stat.result @@ -0,0 +1,39 @@ +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 0 +show status like "binlog_cache_disk_use"; +Variable_name Value +Binlog_cache_disk_use 0 +drop table if exists t1; +create table t1 (a int) engine=innodb; +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 1 +show status like "binlog_cache_disk_use"; +Variable_name Value +Binlog_cache_disk_use 1 +begin; +delete from t1; +commit; +show status like "binlog_cache_use"; +Variable_name Value +Binlog_cache_use 2 +show status like "binlog_cache_disk_use"; +Variable_name Value +Binlog_cache_disk_use 1 +drop table t1; +show status like "Innodb_buffer_pool_pages_total"; +Variable_name Value +Innodb_buffer_pool_pages_total 51_ +show status like "Innodb_page_size"; +Variable_name Value +Innodb_page_size 16384 +show status like "Innodb_rows_deleted"; +Variable_name Value +Innodb_rows_deleted 2000 +show status like "Innodb_rows_inserted"; +Variable_name Value +Innodb_rows_inserted 2000 +show status like "Innodb_rows_updated"; +Variable_name Value +Innodb_rows_updated 0 diff --git a/mysql-test/suite/binlog/r/binlog_row_innodb_stat.result b/mysql-test/suite/binlog/r/binlog_row_innodb_stat.result index e6813ee2719..bdc87dc0ab5 100644 --- a/mysql-test/suite/binlog/r/binlog_row_innodb_stat.result +++ b/mysql-test/suite/binlog/r/binlog_row_innodb_stat.result @@ -24,7 +24,7 @@ Binlog_cache_disk_use 1 drop table t1; show status like "Innodb_buffer_pool_pages_total"; Variable_name Value -Innodb_buffer_pool_pages_total 512 +Innodb_buffer_pool_pages_total 51_ show status like "Innodb_page_size"; Variable_name Value Innodb_page_size 16384 diff --git a/mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result b/mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result index e6813ee2719..bdc87dc0ab5 100644 --- a/mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result +++ b/mysql-test/suite/binlog/r/binlog_stm_innodb_stat.result @@ -24,7 +24,7 @@ Binlog_cache_disk_use 1 drop table t1; show status like "Innodb_buffer_pool_pages_total"; Variable_name Value -Innodb_buffer_pool_pages_total 512 +Innodb_buffer_pool_pages_total 51_ show status like "Innodb_page_size"; Variable_name Value Innodb_page_size 16384 diff --git a/mysql-test/suite/binlog/t/binlog_mix_innodb_stat.test b/mysql-test/suite/binlog/t/binlog_mix_innodb_stat.test new file mode 100644 index 00000000000..0be097c78ed --- /dev/null +++ b/mysql-test/suite/binlog/t/binlog_mix_innodb_stat.test @@ -0,0 +1,5 @@ +# This is a wrapper for binlog.test so that the same test case can be used +# For both statement and row based bin logs 9/19/2005 [jbm] + +-- source include/have_binlog_format_mixed.inc +-- source extra/binlog_tests/innodb_stat.test diff --git a/mysql-test/suite/binlog/t/binlog_stm_innodb_stat.test b/mysql-test/suite/binlog/t/binlog_stm_innodb_stat.test index a08039c4a41..c6017246e6d 100644 --- a/mysql-test/suite/binlog/t/binlog_stm_innodb_stat.test +++ b/mysql-test/suite/binlog/t/binlog_stm_innodb_stat.test @@ -1,5 +1,5 @@ # This is a wrapper for binlog.test so that the same test case can be used # For both statement and row based bin logs 9/19/2005 [jbm] --- source include/have_binlog_format_mixed_or_statement.inc +-- source include/have_binlog_format_statement.inc -- source extra/binlog_tests/innodb_stat.test