List:Commits« Previous MessageNext Message »
From:Luis Soares Date:May 26 2010 1:38pm
Subject:bzr commit into mysql-next-mr-wl5092 branch (luis.soares:3148)
View as plain text  
#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 Soares26 May