3203 Marc Alff 2010-10-11
Reordered the code to discard incomplete records first,
instead of using un initialized memory and then discard records.
modified:
storage/perfschema/table_events_waits.cc
3202 Marc Alff 2010-10-11 [merge]
Merge mysql-next-mr --> mysql-next-mr-wl4816
added:
mysql-test/extra/rpl_tests/rpl_row_empty_imgs.test
mysql-test/extra/rpl_tests/rpl_row_img.test
mysql-test/extra/rpl_tests/rpl_row_img_blobs.test
mysql-test/extra/rpl_tests/rpl_row_img_diff_indexes.test
mysql-test/include/rpl_chained_3_hosts.inc
mysql-test/include/rpl_chained_3_hosts_sync.inc
mysql-test/include/rpl_row_img_general_loop.inc
mysql-test/include/rpl_row_img_parts_assertion.inc
mysql-test/include/rpl_row_img_parts_master_slave.inc
mysql-test/include/rpl_row_img_set.inc
mysql-test/suite/rpl/r/rpl_row_img_blobs.result
mysql-test/suite/rpl/r/rpl_row_img_eng_full.result
mysql-test/suite/rpl/r/rpl_row_img_eng_min.result
mysql-test/suite/rpl/r/rpl_row_img_eng_noblob.result
mysql-test/suite/rpl/r/rpl_row_img_idx_full.result
mysql-test/suite/rpl/r/rpl_row_img_idx_min.result
mysql-test/suite/rpl/r/rpl_row_img_idx_noblob.result
mysql-test/suite/rpl/r/rpl_row_img_misc.result
mysql-test/suite/rpl/r/rpl_row_img_sanity.result
mysql-test/suite/rpl/r/rpl_row_record_find_myisam.result
mysql-test/suite/rpl/t/rpl_row_img_blobs.cnf
mysql-test/suite/rpl/t/rpl_row_img_blobs.test
mysql-test/suite/rpl/t/rpl_row_img_eng_full.cnf
mysql-test/suite/rpl/t/rpl_row_img_eng_full.test
mysql-test/suite/rpl/t/rpl_row_img_eng_min.cnf
mysql-test/suite/rpl/t/rpl_row_img_eng_min.test
mysql-test/suite/rpl/t/rpl_row_img_eng_noblob.cnf
mysql-test/suite/rpl/t/rpl_row_img_eng_noblob.test
mysql-test/suite/rpl/t/rpl_row_img_idx_full.cnf
mysql-test/suite/rpl/t/rpl_row_img_idx_full.test
mysql-test/suite/rpl/t/rpl_row_img_idx_min.cnf
mysql-test/suite/rpl/t/rpl_row_img_idx_min.test
mysql-test/suite/rpl/t/rpl_row_img_idx_noblob.cnf
mysql-test/suite/rpl/t/rpl_row_img_idx_noblob.test
mysql-test/suite/rpl/t/rpl_row_img_misc.test
mysql-test/suite/rpl/t/rpl_row_img_sanity.test
mysql-test/suite/rpl/t/rpl_row_record_find_myisam.test
mysql-test/suite/rpl_ndb/r/rpl_ndb_row_img.result
mysql-test/suite/rpl_ndb/t/rpl_ndb_row_img.cnf
mysql-test/suite/rpl_ndb/t/rpl_ndb_row_img.test
mysql-test/suite/sys_vars/r/binlog_row_image_basic.result
mysql-test/suite/sys_vars/t/binlog_row_image_basic.test
modified:
mysql-test/extra/rpl_tests/rpl_auto_increment.test
mysql-test/include/diff_tables.inc
mysql-test/r/mysqld--help-notwin.result
mysql-test/r/mysqld--help-win.result
mysql-test/suite/binlog/r/binlog_row_binlog.result
mysql-test/suite/binlog/t/binlog_row_binlog.test
mysql-test/suite/perfschema/r/binlog_mix.result
mysql-test/suite/perfschema/r/binlog_row.result
mysql-test/suite/rpl/r/rpl_row_find_row.result
mysql-test/suite/rpl/t/rpl_conditional_comments.test
mysql-test/suite/rpl/t/rpl_loadfile.test
mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test
mysql-test/suite/rpl/t/rpl_row_find_row.test
mysql-test/suite/rpl/t/rpl_row_tbl_metadata.test
mysql-test/suite/rpl/t/rpl_row_utf16.test
mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result
mysql-test/suite/rpl_ndb/t/disabled.def
sql/binlog.cc
sql/handler.cc
sql/handler.h
sql/log.h
sql/log_event.cc
sql/log_event.h
sql/log_event_old.cc
sql/log_event_old.h
sql/rpl_injector.cc
sql/rpl_injector.h
sql/rpl_record.cc
sql/rpl_record.h
sql/sql_class.h
sql/sql_insert.cc
sql/sql_update.cc
sql/sys_vars.cc
sql/table.cc
sql/table.h
storage/perfschema/ha_perfschema.cc
=== modified file 'storage/perfschema/table_events_waits.cc'
--- a/storage/perfschema/table_events_waits.cc 2010-10-04 18:27:08 +0000
+++ b/storage/perfschema/table_events_waits.cc 2010-10-11 17:19:54 +0000
@@ -225,18 +225,6 @@ void table_events_waits_common::make_row
and sanitizes all the data before returning a row.
*/
- m_row.m_thread_internal_id= safe_thread->m_thread_internal_id;
- m_row.m_event_id= wait->m_event_id;
-#ifdef HAVE_NESTED_EVENTS
- m_row.m_nesting_event_id= wait->m_nesting_event_id;
-#endif
-
- time_normalizer *normalizer= time_normalizer::get(wait_timer);
- normalizer->to_pico(wait->m_timer_start, wait->m_timer_end,
- & m_row.m_timer_start, & m_row.m_timer_end, & m_row.m_timer_wait);
-
- m_row.m_object_instance_addr= (intptr) wait->m_object_instance_addr;
-
/*
PFS_events_waits::m_class needs to be sanitized,
for race conditions when this code:
@@ -295,8 +283,22 @@ void table_events_waits_common::make_row
default:
return;
}
+
if (unlikely(safe_class == NULL))
return;
+
+ m_row.m_thread_internal_id= safe_thread->m_thread_internal_id;
+ m_row.m_event_id= wait->m_event_id;
+#ifdef HAVE_NESTED_EVENTS
+ m_row.m_nesting_event_id= wait->m_nesting_event_id;
+#endif
+
+ time_normalizer *normalizer= time_normalizer::get(wait_timer);
+ normalizer->to_pico(wait->m_timer_start, wait->m_timer_end,
+ & m_row.m_timer_start, & m_row.m_timer_end, & m_row.m_timer_wait);
+
+ m_row.m_object_instance_addr= (intptr) wait->m_object_instance_addr;
+
m_row.m_name= safe_class->m_name;
m_row.m_name_length= safe_class->m_name_length;
Attachment: [text/bzr-bundle] bzr/marc.alff@oracle.com-20101011171954-ux3j0smzpwi1dltr.bundle
| Thread |
|---|
| • bzr push into mysql-next-mr-wl4816 branch (marc.alff:3202 to 3203) | Marc Alff | 11 Oct |