3428 Christopher Powers 2011-09-22
Bug#12981100 - PERFORMANCE_SCHEMA NET IO IDLE AND RECV EVENTS NEST WITHIN WRONG STATEMENT
- For idle events, set idle nesting_event_id to 0 when locker object created
- For recv events, set nesting_event_id to parent nesting_event_id. This had
been fixed but was regressed prior to merge for Fuschia.
- Fixed warning for 64-bit builds in create_socket()
modified:
storage/perfschema/pfs.cc
storage/perfschema/pfs_instr.cc
3427 Raghav Kapoor 2011-09-22
BUG#12735829 - SPACE() FUNCTION WARNING REFERS TO REPEAT()
IN ER_WARN_ALLOWED_PACKET_OVERFLOWED
BACKGROUND:
Previously in the bug,the warning text was incorrect.Instead
of printing space it was printing repeat in the warning message.
FIX:
The bug has been fixed by creating a new class Item_func_space
in item_strfunc.h file and implementing fix_length_and_dec()
and val_str(String *str) functions for it in item_strfunc.cc.
Also Create_func_space now returns Item_func_space in
item_create.cc file.This patch also partially fixes the
bug#11746123 which arises because of wrong implementaion of
space() function which "caches" session character set and
collation at creation time.Test cases have been written to
demonstrate the fix for the both the bugs in func_str.test
file and the corrsponding result files have also been updated.
@ mysql-test/t/func_str.test
Test case for bug#12735829 and bug#11746123 have been written
@ sql/item_create.cc
Item_func_space is called instead of Item_func_repeat
@ sql/item_strfunc.cc
fix_length_and_dec() and val_str(String *str) functions
for item_func_space have been implemented.
@ sql/item_strfunc.h
new class item_func_space has been created
modified:
mysql-test/r/ctype_utf16.result
mysql-test/r/func_str.result
mysql-test/t/func_str.test
sql/item_create.cc
sql/item_strfunc.cc
sql/item_strfunc.h
=== modified file 'storage/perfschema/pfs.cc'
--- a/storage/perfschema/pfs.cc 2011-09-21 15:41:50 +0000
+++ b/storage/perfschema/pfs.cc 2011-09-22 21:30:32 +0000
@@ -2878,8 +2878,8 @@ get_thread_socket_locker_v1(PSI_socket_l
PFS_events_waits *parent_event= wait - 1;
wait->m_event_type= EVENT_TYPE_WAIT;
- wait->m_nesting_event_id= parent_event->m_event_id;
- wait->m_nesting_event_type= parent_event->m_event_type;
+ wait->m_nesting_event_id= parent_event->m_nesting_event_id;
+ wait->m_nesting_event_type= parent_event->m_nesting_event_type;
wait->m_thread= pfs_thread;
wait->m_class= pfs_socket->m_class;
wait->m_timer_start= 0;
@@ -3141,8 +3141,8 @@ start_idle_wait_v1(PSI_idle_locker_state
PFS_events_waits *parent_event= wait - 1;
wait->m_event_type= EVENT_TYPE_WAIT;
- wait->m_nesting_event_id= parent_event->m_event_id;
- wait->m_nesting_event_type= parent_event->m_event_type;
+ wait->m_nesting_event_id= 0; // idle timer not linked to statements or stages
+ wait->m_nesting_event_type= EVENT_TYPE_WAIT;
wait->m_thread= pfs_thread;
wait->m_class= &global_idle_class;
=== modified file 'storage/perfschema/pfs_instr.cc'
--- a/storage/perfschema/pfs_instr.cc 2011-09-21 15:41:50 +0000
+++ b/storage/perfschema/pfs_instr.cc 2011-09-22 21:30:32 +0000
@@ -1473,7 +1473,8 @@ PFS_socket* create_socket(PFS_socket_cla
*/
my_socket fd= likely(identity != NULL) ?
*(reinterpret_cast<const my_socket*>(identity)) : 0;
- uint random= randomized_index((const void *)fd, socket_max);
+
+ uint random= randomized_index(reinterpret_cast<const void *>(fd), socket_max);
for (scan.init(random, socket_max);
scan.has_pass();
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk branch (chris.powers:3427 to 3428) Bug#12981100 | Christopher Powers | 23 Sep |