#At file:///home/lsoares/Workspace/bzr/work/bugfixing/49100/push/mysql-next-mr-wl5092/ based on revid:luis.soares@stripped
3148 Luis Soares 2010-05-26 [merge]
WL 5092: automerged bundle for post-push fix perfschema binlog
tests failures.
modified:
mysql-test/suite/perfschema/r/binlog_mix.result
mysql-test/suite/perfschema/r/binlog_row.result
sql/handler.h
sql/table.cc
storage/perfschema/ha_perfschema.cc
=== modified file 'mysql-test/suite/perfschema/r/binlog_mix.result'
--- a/mysql-test/suite/perfschema/r/binlog_mix.result 2010-01-12 01:47:27 +0000
+++ b/mysql-test/suite/perfschema/r/binlog_mix.result 2010-05-26 09:29:59 +0000
@@ -26,6 +26,17 @@ Log_name Pos Event_type Server_id End_lo
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (performance_schema.SETUP_INSTRUMENTS)
master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table if exists test.t1
@@ -45,5 +56,16 @@ master-bin.000001 # Query # # use `test`
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (performance_schema.SETUP_INSTRUMENTS)
master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
=== modified file 'mysql-test/suite/perfschema/r/binlog_row.result'
--- a/mysql-test/suite/perfschema/r/binlog_row.result 2010-01-12 01:47:27 +0000
+++ b/mysql-test/suite/perfschema/r/binlog_row.result 2010-05-26 09:29:59 +0000
@@ -26,6 +26,17 @@ Log_name Pos Event_type Server_id End_lo
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (performance_schema.SETUP_INSTRUMENTS)
master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table if exists test.t1
@@ -45,5 +56,16 @@ master-bin.000001 # Query # # use `test`
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (performance_schema.SETUP_INSTRUMENTS)
master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
+master-bin.000001 # Update_rows # # table_id: #
master-bin.000001 # Update_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT
=== modified file 'sql/handler.h'
--- a/sql/handler.h 2010-03-31 14:05:33 +0000
+++ b/sql/handler.h 2010-05-26 09:29:59 +0000
@@ -807,6 +807,19 @@ struct handlerton
#define HTON_TEMPORARY_NOT_SUPPORTED (1 << 6) //Having temporary tables not supported
#define HTON_SUPPORT_LOG_TABLES (1 << 7) //Engine supports log tables
#define HTON_NO_PARTITION (1 << 8) //You can not partition these tables
+/*
+ This flag should be set when deciding that the engine does not allow row based
+ binary logging (RBL) optimizations.
+
+ Currently, setting this flag, means that table's read/write_set will be left
+ untouched when logging changes to tables in this engine. In practice this
+ means that the server will not mess around with table->write_set and/or
+ table->read_set when using RBL and deciding whether to log full or minimal rows.
+
+ It's valuable for instance for virtual tables, eg: Performance Schema which have
+ no meaning for replication.
+*/
+#define HTON_NO_BINLOG_ROW_OPT (1 << 9)
class Ha_trx_info;
=== modified file 'sql/table.cc'
--- a/sql/table.cc 2010-05-19 23:22:58 +0000
+++ b/sql/table.cc 2010-05-26 09:29:59 +0000
@@ -4668,7 +4668,8 @@ void TABLE::mark_columns_per_binlog_row_
depending on the binlog-row-image command line argument.
*/
if ((mysql_bin_log.is_open() && in_use &&
- in_use->is_current_stmt_binlog_format_row()))
+ in_use->is_current_stmt_binlog_format_row() &&
+ !ha_check_storage_engine_flag(s->db_type(), HTON_NO_BINLOG_ROW_OPT)))
{
THD *thd= current_thd;
=== modified file 'storage/perfschema/ha_perfschema.cc'
--- a/storage/perfschema/ha_perfschema.cc 2010-05-03 15:04:02 +0000
+++ b/storage/perfschema/ha_perfschema.cc 2010-05-26 09:29:59 +0000
@@ -68,7 +68,8 @@ static int pfs_init_func(void *p)
pfs_hton->show_status= pfs_show_status;
pfs_hton->flags= HTON_ALTER_NOT_SUPPORTED |
HTON_TEMPORARY_NOT_SUPPORTED |
- HTON_NO_PARTITION;
+ HTON_NO_PARTITION |
+ HTON_NO_BINLOG_ROW_OPT;
/*
As long as the server implementation keeps using legacy_db_type,
Attachment: [text/bzr-bundle] bzr/luis.soares@sun.com-20100526133835-icdk4efz70ls3ovz.bundle
| Thread |
|---|
| • bzr commit into mysql-next-mr-wl5092 branch (luis.soares:3148) | Luis Soares | 26 May |