From: Christopher Powers Date: August 16 2011 4:32am Subject: bzr push into mysql-trunk branch (chris.powers:3367 to 3368) WL#4896 List-Archive: http://lists.mysql.com/commits/140632 Message-Id: <201108160432.p7G4W4Ee014212@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3368 Christopher Powers 2011-08-15 WL#4896 "Performance Schema Net IO" - Changes per code review - Disabled UNION tests in socket_summary_by_instance_func. These tests do not take into account variations in the size of result set metadata. modified: include/mysql/psi/psi.h mysql-test/suite/perfschema/r/socket_summary_by_instance_func.result mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test storage/perfschema/pfs.cc storage/perfschema/table_ews_by_thread_by_event_name.cc 3367 Christopher Powers 2011-08-15 Remove Windows debug code modified: storage/perfschema/pfs.cc === modified file 'include/mysql/psi/psi.h' --- a/include/mysql/psi/psi.h 2011-08-10 23:35:12 +0000 +++ b/include/mysql/psi/psi.h 2011-08-16 03:57:30 +0000 @@ -953,8 +953,6 @@ struct PSI_socket_locker_state_v1 int m_src_line; /** Internal data. */ void *m_wait; - /** Idle state. */ - my_bool m_idle; }; /* Using typedef to make reuse between PSI_v1 and PSI_v2 easier later. */ === modified file 'mysql-test/suite/perfschema/r/socket_summary_by_instance_func.result' --- a/mysql-test/suite/perfschema/r/socket_summary_by_instance_func.result 2011-08-15 06:26:10 +0000 +++ b/mysql-test/suite/perfschema/r/socket_summary_by_instance_func.result 2011-08-16 03:57:30 +0000 @@ -126,273 +126,10 @@ a # 4.3.7 Compare impact of statements # SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 # SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -# 4.3.8 Compare impact of statements -# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -UNION ALL -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -# The compared statistics looks suspicious -# We expect -0 - -SELECT 0 AS Expect_1 -FROM mysqltest.socket_summary_by_instance_detail t1 -JOIN mysqltest.socket_summary_by_instance_detail t2 -USING (EVENT_NAME, OBJECT_INSTANCE_BEGIN, run) -WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin -AND EVENT_NAME LIKE ('%client_connection') -AND run = 1 -AND t2.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -UNION ALL -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1' AND t1.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1'; -Expect_1 -0 - -SELECT t2.COUNT_READ - t1.COUNT_READ AS D_COUNT_READ, -t2.COUNT_READ AS S2_COUNT_READ, -t1.COUNT_READ AS S1_COUNT_READ, -t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ AS D_SUM_NUMBER_OF_BYTES_READ, -t2.SUM_NUMBER_OF_BYTES_READ AS S2_SUM_NUMBER_OF_BYTES_READ, -t1.SUM_NUMBER_OF_BYTES_READ AS S1_SUM_NUMBER_OF_BYTES_READ, -t2.COUNT_WRITE - t1.COUNT_WRITE AS D_COUNT_WRITE, -t2.COUNT_WRITE AS S2_COUNT_WRITE, -t1.COUNT_WRITE AS S1_COUNT_WRITE, -t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE AS D_UM_NUMBER_OF_BYTES_WRITE, -t2.SUM_NUMBER_OF_BYTES_WRITE AS S2_SUM_NUMBER_OF_BYTES_WRITE, -t1.SUM_NUMBER_OF_BYTES_WRITE AS S1_SUM_NUMBER_OF_BYTES_WRITE, -t2.COUNT_MISC - t1.COUNT_MISC AS D_COUNT_MISC, -t2.COUNT_MISC AS S2_COUNT_MISC, -t1.COUNT_MISC AS S1_COUNT_MISC -FROM mysqltest.socket_summary_by_instance_detail t1 -JOIN mysqltest.socket_summary_by_instance_detail t2 -USING (EVENT_NAME, OBJECT_INSTANCE_BEGIN, run) -WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin -AND EVENT_NAME LIKE ('%client_connection') -AND run = 1 -AND t1.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1' AND t2.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -UNION ALL -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1'; -ERROR 22003: BIGINT UNSIGNED value is out of range in '(`mysqltest`.`t2`.`SUM_NUMBER_OF_BYTES_WRITE` - `mysqltest`.`t1`.`SUM_NUMBER_OF_BYTES_WRITE`)' - -SELECT LPAD(COUNT_READ, 8, ' ') AS CNT_READ, LPAD(SUM_NUMBER_OF_BYTES_READ, 10,' ') AS BYTES_READ, -LPAD(COUNT_WRITE,9, ' ') AS CNT_WRITE,LPAD(SUM_NUMBER_OF_BYTES_WRITE, 11,' ') AS BYTES_WRITE, -LPAD(COUNT_MISC, 8, ' ') AS CNT_MISC, statement -FROM mysqltest.socket_summary_by_instance_detail -WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin -AND EVENT_NAME LIKE ('%client_connection') -AND run = 1 -AND statement IN('SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -UNION ALL -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1','SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1'); -CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement - 2 53 1 83 2 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 - 2 112 1 67 2 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -UNION ALL -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -# 4.3.9 Compare impact of statements -# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -UNION DISTINCT -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -# The compared statistics looks suspicious -# We expect -0 - -SELECT 0 AS Expect_1 -FROM mysqltest.socket_summary_by_instance_detail t1 -JOIN mysqltest.socket_summary_by_instance_detail t2 -USING (EVENT_NAME, OBJECT_INSTANCE_BEGIN, run) -WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin -AND EVENT_NAME LIKE ('%client_connection') -AND run = 1 -AND t2.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -UNION DISTINCT -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1' AND t1.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1'; -Expect_1 -0 - -SELECT t2.COUNT_READ - t1.COUNT_READ AS D_COUNT_READ, -t2.COUNT_READ AS S2_COUNT_READ, -t1.COUNT_READ AS S1_COUNT_READ, -t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ AS D_SUM_NUMBER_OF_BYTES_READ, -t2.SUM_NUMBER_OF_BYTES_READ AS S2_SUM_NUMBER_OF_BYTES_READ, -t1.SUM_NUMBER_OF_BYTES_READ AS S1_SUM_NUMBER_OF_BYTES_READ, -t2.COUNT_WRITE - t1.COUNT_WRITE AS D_COUNT_WRITE, -t2.COUNT_WRITE AS S2_COUNT_WRITE, -t1.COUNT_WRITE AS S1_COUNT_WRITE, -t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE AS D_UM_NUMBER_OF_BYTES_WRITE, -t2.SUM_NUMBER_OF_BYTES_WRITE AS S2_SUM_NUMBER_OF_BYTES_WRITE, -t1.SUM_NUMBER_OF_BYTES_WRITE AS S1_SUM_NUMBER_OF_BYTES_WRITE, -t2.COUNT_MISC - t1.COUNT_MISC AS D_COUNT_MISC, -t2.COUNT_MISC AS S2_COUNT_MISC, -t1.COUNT_MISC AS S1_COUNT_MISC -FROM mysqltest.socket_summary_by_instance_detail t1 -JOIN mysqltest.socket_summary_by_instance_detail t2 -USING (EVENT_NAME, OBJECT_INSTANCE_BEGIN, run) -WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin -AND EVENT_NAME LIKE ('%client_connection') -AND run = 1 -AND t1.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1' AND t2.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -UNION DISTINCT -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1'; -ERROR 22003: BIGINT UNSIGNED value is out of range in '(`mysqltest`.`t2`.`SUM_NUMBER_OF_BYTES_WRITE` - `mysqltest`.`t1`.`SUM_NUMBER_OF_BYTES_WRITE`)' - -SELECT LPAD(COUNT_READ, 8, ' ') AS CNT_READ, LPAD(SUM_NUMBER_OF_BYTES_READ, 10,' ') AS BYTES_READ, -LPAD(COUNT_WRITE,9, ' ') AS CNT_WRITE,LPAD(SUM_NUMBER_OF_BYTES_WRITE, 11,' ') AS BYTES_WRITE, -LPAD(COUNT_MISC, 8, ' ') AS CNT_MISC, statement -FROM mysqltest.socket_summary_by_instance_detail -WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin -AND EVENT_NAME LIKE ('%client_connection') -AND run = 1 -AND statement IN('SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -UNION DISTINCT -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1','SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1'); -CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement - 2 53 1 83 2 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 - 2 117 1 62 2 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -UNION DISTINCT -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -# 4.3.10 Compare impact of statements -# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 -UNION ALL -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 -# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 -# The compared statistics looks suspicious -# We expect -0 - -SELECT 0 AS Expect_1 -FROM mysqltest.socket_summary_by_instance_detail t1 -JOIN mysqltest.socket_summary_by_instance_detail t2 -USING (EVENT_NAME, OBJECT_INSTANCE_BEGIN, run) -WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin -AND EVENT_NAME LIKE ('%client_connection') -AND run = 1 -AND t2.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 -UNION ALL -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3' AND t1.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3'; -Expect_1 -0 - -SELECT t2.COUNT_READ - t1.COUNT_READ AS D_COUNT_READ, -t2.COUNT_READ AS S2_COUNT_READ, -t1.COUNT_READ AS S1_COUNT_READ, -t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ AS D_SUM_NUMBER_OF_BYTES_READ, -t2.SUM_NUMBER_OF_BYTES_READ AS S2_SUM_NUMBER_OF_BYTES_READ, -t1.SUM_NUMBER_OF_BYTES_READ AS S1_SUM_NUMBER_OF_BYTES_READ, -t2.COUNT_WRITE - t1.COUNT_WRITE AS D_COUNT_WRITE, -t2.COUNT_WRITE AS S2_COUNT_WRITE, -t1.COUNT_WRITE AS S1_COUNT_WRITE, -t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE AS D_UM_NUMBER_OF_BYTES_WRITE, -t2.SUM_NUMBER_OF_BYTES_WRITE AS S2_SUM_NUMBER_OF_BYTES_WRITE, -t1.SUM_NUMBER_OF_BYTES_WRITE AS S1_SUM_NUMBER_OF_BYTES_WRITE, -t2.COUNT_MISC - t1.COUNT_MISC AS D_COUNT_MISC, -t2.COUNT_MISC AS S2_COUNT_MISC, -t1.COUNT_MISC AS S1_COUNT_MISC -FROM mysqltest.socket_summary_by_instance_detail t1 -JOIN mysqltest.socket_summary_by_instance_detail t2 -USING (EVENT_NAME, OBJECT_INSTANCE_BEGIN, run) -WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin -AND EVENT_NAME LIKE ('%client_connection') -AND run = 1 -AND t1.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3' AND t2.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 -UNION ALL -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3'; -D_COUNT_READ 0 -S2_COUNT_READ 2 -S1_COUNT_READ 2 -D_SUM_NUMBER_OF_BYTES_READ 59 -S2_SUM_NUMBER_OF_BYTES_READ 112 -S1_SUM_NUMBER_OF_BYTES_READ 53 -D_COUNT_WRITE 0 -S2_COUNT_WRITE 1 -S1_COUNT_WRITE 1 -D_UM_NUMBER_OF_BYTES_WRITE 1010 -S2_SUM_NUMBER_OF_BYTES_WRITE 2119 -S1_SUM_NUMBER_OF_BYTES_WRITE 1109 -D_COUNT_MISC 0 -S2_COUNT_MISC 2 -S1_COUNT_MISC 2 - -SELECT LPAD(COUNT_READ, 8, ' ') AS CNT_READ, LPAD(SUM_NUMBER_OF_BYTES_READ, 10,' ') AS BYTES_READ, -LPAD(COUNT_WRITE,9, ' ') AS CNT_WRITE,LPAD(SUM_NUMBER_OF_BYTES_WRITE, 11,' ') AS BYTES_WRITE, -LPAD(COUNT_MISC, 8, ' ') AS CNT_MISC, statement -FROM mysqltest.socket_summary_by_instance_detail -WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin -AND EVENT_NAME LIKE ('%client_connection') -AND run = 1 -AND statement IN('SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 -UNION ALL -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3','SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3'); -CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement - 2 53 1 1109 2 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 - 2 112 1 2119 2 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 -UNION ALL -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 -# 4.3.11 Compare impact of statements -# SELECT col2 FROM mysqltest.my_aux WHERE col1 < 3 -# SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -# The compared statistics looks suspicious -# We expect -0 - -SELECT 0 AS Expect_1 -FROM mysqltest.socket_summary_by_instance_detail t1 -JOIN mysqltest.socket_summary_by_instance_detail t2 -USING (EVENT_NAME, OBJECT_INSTANCE_BEGIN, run) -WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin -AND EVENT_NAME LIKE ('%client_connection') -AND run = 1 -AND t2.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 < 3' AND t1.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1'; -Expect_1 -0 - -SELECT t2.COUNT_READ - t1.COUNT_READ AS D_COUNT_READ, -t2.COUNT_READ AS S2_COUNT_READ, -t1.COUNT_READ AS S1_COUNT_READ, -t2.SUM_NUMBER_OF_BYTES_READ - t1.SUM_NUMBER_OF_BYTES_READ AS D_SUM_NUMBER_OF_BYTES_READ, -t2.SUM_NUMBER_OF_BYTES_READ AS S2_SUM_NUMBER_OF_BYTES_READ, -t1.SUM_NUMBER_OF_BYTES_READ AS S1_SUM_NUMBER_OF_BYTES_READ, -t2.COUNT_WRITE - t1.COUNT_WRITE AS D_COUNT_WRITE, -t2.COUNT_WRITE AS S2_COUNT_WRITE, -t1.COUNT_WRITE AS S1_COUNT_WRITE, -t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NUMBER_OF_BYTES_WRITE AS D_UM_NUMBER_OF_BYTES_WRITE, -t2.SUM_NUMBER_OF_BYTES_WRITE AS S2_SUM_NUMBER_OF_BYTES_WRITE, -t1.SUM_NUMBER_OF_BYTES_WRITE AS S1_SUM_NUMBER_OF_BYTES_WRITE, -t2.COUNT_MISC - t1.COUNT_MISC AS D_COUNT_MISC, -t2.COUNT_MISC AS S2_COUNT_MISC, -t1.COUNT_MISC AS S1_COUNT_MISC -FROM mysqltest.socket_summary_by_instance_detail t1 -JOIN mysqltest.socket_summary_by_instance_detail t2 -USING (EVENT_NAME, OBJECT_INSTANCE_BEGIN, run) -WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin -AND EVENT_NAME LIKE ('%client_connection') -AND run = 1 -AND t1.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1' AND t2.statement = 'SELECT col2 FROM mysqltest.my_aux WHERE col1 < 3'; -D_COUNT_READ 0 -S2_COUNT_READ 2 -S1_COUNT_READ 2 -D_SUM_NUMBER_OF_BYTES_READ 0 -S2_SUM_NUMBER_OF_BYTES_READ 53 -S1_SUM_NUMBER_OF_BYTES_READ 53 -D_COUNT_WRITE 0 -S2_COUNT_WRITE 1 -S1_COUNT_WRITE 1 -D_UM_NUMBER_OF_BYTES_WRITE 6 -S2_SUM_NUMBER_OF_BYTES_WRITE 89 -S1_SUM_NUMBER_OF_BYTES_WRITE 83 -D_COUNT_MISC 0 -S2_COUNT_MISC 2 -S1_COUNT_MISC 2 - -SELECT LPAD(COUNT_READ, 8, ' ') AS CNT_READ, LPAD(SUM_NUMBER_OF_BYTES_READ, 10,' ') AS BYTES_READ, -LPAD(COUNT_WRITE,9, ' ') AS CNT_WRITE,LPAD(SUM_NUMBER_OF_BYTES_WRITE, 11,' ') AS BYTES_WRITE, -LPAD(COUNT_MISC, 8, ' ') AS CNT_MISC, statement -FROM mysqltest.socket_summary_by_instance_detail -WHERE OBJECT_INSTANCE_BEGIN <> @default_object_instance_begin -AND EVENT_NAME LIKE ('%client_connection') -AND run = 1 -AND statement IN('SELECT col2 FROM mysqltest.my_aux WHERE col1 < 3','SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1'); -CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement - 2 53 1 83 2 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 - 2 53 1 89 2 SELECT col2 FROM mysqltest.my_aux WHERE col1 < 3 +# 4.3.2 Failing (->2.1) vs. passing (-> 2.3) connect +# FIXME: To be implemented after the bug fixes +# 4.3.3 2.3 vs. 2.4 +# FIXME: To be implemented after the bug fixes +# 4.4 Check the differences caused by SQL statements +# FIXME: To be implemented after the bug fixes +# 5. Cleanup === modified file 'mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test' --- a/mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test 2011-08-15 06:26:10 +0000 +++ b/mysql-test/suite/perfschema/t/socket_summary_by_instance_func.test 2011-08-16 03:57:30 +0000 @@ -78,7 +78,7 @@ if($my_socket_debug) # Advantage: # More thorough checks. # -let $print_details= 1; +let $print_details= 0; # # Number of attempts within the test checking the stability of counter increments. @@ -726,43 +726,43 @@ t2.SUM_NUMBER_OF_BYTES_WRITE - t1.SUM_NU t2.COUNT_MISC - t1.COUNT_MISC = 0; --source ../include/socket_check1.inc -let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -UNION ALL -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1; -let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1; +#let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 +#UNION ALL +#SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1; +#let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1; # CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement # 3 53 1 83 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 # 3 112 1 67 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 # UNION ALL # SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 # MLML: The BYTES_WRITE seem to be wrong. -let $my_rules= 0; ---source ../include/socket_check1.inc +#let $my_rules= 0; +#--source ../include/socket_check1.inc -let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 -UNION DISTINCT -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1; -let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1; +#let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 +#UNION DISTINCT +#SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1; +#let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1; # CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement # 3 53 1 83 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 # 3 117 1 62 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 # UNION DISTINCT # SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1 # MLML: The BYTES_WRITE seem to be wrong. -let $my_rules= 0; ---source ../include/socket_check1.inc +#let $my_rules= 0; +#--source ../include/socket_check1.inc -let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 -UNION ALL -SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3; -let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3; +#let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 +#UNION ALL +#SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3; +#let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3; # CNT_READ BYTES_READ CNT_WRITE BYTES_WRITE CNT_MISC statement # 3 53 1 1109 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 # 3 112 1 2119 1 SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 # UNION ALL # SELECT col2 FROM mysqltest.my_aux WHERE col1 = 3 -let $my_rules= 0; ---source ../include/socket_check1.inc +#let $my_rules= 0; +#--source ../include/socket_check1.inc let $stmt2= SELECT col2 FROM mysqltest.my_aux WHERE col1 < 3; let $stmt1= SELECT col2 FROM mysqltest.my_aux WHERE col1 = 1; @@ -772,10 +772,9 @@ let $stmt1= SELECT col2 FROM mysqltest.m # stmt2 Gives one row with string 1 byte long and one row with an empty string. # stmt1 Gives one row with an empty string. # BYTES_WRITE might be ok here. -let $my_rules= 0; ---source ../include/socket_check1.inc +#let $my_rules= 0; +#--source ../include/socket_check1.inc -exit; if(0) { --echo # 4.3 Check the connects === modified file 'storage/perfschema/pfs.cc' --- a/storage/perfschema/pfs.cc 2011-08-15 06:29:18 +0000 +++ b/storage/perfschema/pfs.cc 2011-08-16 03:57:30 +0000 @@ -2836,11 +2836,9 @@ get_thread_socket_locker_v1(PSI_socket_l DBUG_ASSERT(pfs_socket->m_class != NULL); - if (!pfs_socket->m_enabled) + if (!pfs_socket->m_enabled || pfs_socket->m_idle) return NULL; - state->m_idle= pfs_socket->m_idle; - register uint flags; if (flag_thread_instrumentation) @@ -2867,8 +2865,7 @@ get_thread_socket_locker_v1(PSI_socket_l state->m_thread= reinterpret_cast (pfs_thread); flags= STATE_FLAG_THREAD; - /* Sockets in IDLE state are timed separately */ - if (pfs_socket->m_timed) + if (pfs_socket->m_timed & !pfs_socket->m_idle) flags|= STATE_FLAG_TIMED; if (flag_events_waits_current) @@ -2884,8 +2881,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_id= parent_event->m_event_type; + wait->m_nesting_event_id= parent_event->m_event_id; + wait->m_nesting_event_type= parent_event->m_event_type; wait->m_thread= pfs_thread; wait->m_class= pfs_socket->m_class; wait->m_timer_start= 0; @@ -2903,7 +2900,6 @@ get_thread_socket_locker_v1(PSI_socket_l } else { - /* Sockets in IDLE state are counted but not timed */ if (pfs_socket->m_timed) { flags= STATE_FLAG_TIMED; @@ -3152,9 +3148,10 @@ start_idle_wait_v1(PSI_idle_locker_state state->m_wait= wait; flags|= STATE_FLAG_EVENT; -#ifdef HAVE_NESTED_EVENTS - wait->m_nesting_event_id= (wait - 1)->m_event_id; -#endif + 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_thread= pfs_thread; wait->m_class= &global_idle_class; @@ -4634,7 +4631,7 @@ static void start_socket_wait_v1(PSI_soc register uint flags= state->m_flags; ulonglong timer_start= 0; - if (flags & STATE_FLAG_TIMED && !state->m_idle) + if (flags & STATE_FLAG_TIMED) { timer_start= get_timer_raw_value_and_function(wait_timer, &state->m_timer); state->m_timer_start= timer_start; @@ -4710,21 +4707,8 @@ static void end_socket_wait_v1(PSI_socke /** Aggregation for EVENTS_WAITS_SUMMARY_BY_INSTANCE */ if (flags & STATE_FLAG_TIMED) { - if (!state->m_idle) - { - timer_end= state->m_timer(); - wait_time= timer_end - state->m_timer_start; - } - else - { - /* - If idle, then this was a RECV operation that blocked on the socket for an - indeterminate time waiting for data, so the wait time will later be - recorded as an IDLE event. The duration of the actual RECV is unknown and - is therefore set to zero. - */ - wait_time= 0; - } + timer_end= state->m_timer(); + wait_time= timer_end - state->m_timer_start; /* Aggregate to the socket instrument for now (timed) */ byte_stat->aggregate(wait_time, bytes); @@ -4752,16 +4736,8 @@ static void end_socket_wait_v1(PSI_socke PFS_single_stat stat; socket->m_socket_stat.m_io_stat.sum_waits(&stat); - if (flags & STATE_FLAG_TIMED) - { - /* Aggregate to EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME (timed) */ - event_name_array[index].aggregate(&stat); - } - else - { - /* Aggregate to EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME (counted). */ - event_name_array[index].aggregate_counted(stat.m_count); - } + /* Aggregate to EVENTS_WAITS_SUMMARY_BY_THREAD_BY_EVENT_NAME (timed) */ + event_name_array[index].aggregate(&stat); } /* Aggregate to EVENTS_WAITS_CURRENT and EVENTS_WAITS_HISTORY */ === modified file 'storage/perfschema/table_ews_by_thread_by_event_name.cc' --- a/storage/perfschema/table_ews_by_thread_by_event_name.cc 2011-07-08 21:31:33 +0000 +++ b/storage/perfschema/table_ews_by_thread_by_event_name.cc 2011-08-16 03:57:30 +0000 @@ -206,7 +206,10 @@ table_ews_by_thread_by_event_name::rnd_p instr_class= find_table_class(m_pos.m_index_3); break; case pos_ews_by_thread_by_event_name::VIEW_SOCKET: - instr_class= find_socket_class(m_pos.m_index_2); + instr_class= find_socket_class(m_pos.m_index_3); + break; + case pos_ews_by_thread_by_event_name::VIEW_IDLE: + instr_class= find_idle_class(m_pos.m_index_3); break; default: DBUG_ASSERT(false); No bundle (reason: useless for push emails).