From: Christopher Powers Date: September 22 2011 9:31pm Subject: bzr push into mysql-trunk branch (chris.powers:3427 to 3428) Bug#12981100 List-Archive: http://lists.mysql.com/commits/141101 X-Bug: 12981100 Message-Id: <201109222131.p8MLVkN3002213@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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(identity)) : 0; - uint random= randomized_index((const void *)fd, socket_max); + + uint random= randomized_index(reinterpret_cast(fd), socket_max); for (scan.init(random, socket_max); scan.has_pass(); No bundle (reason: useless for push emails).